PL/SQL - 字符串连接算法

Hal*_*Hal 2 oracle plsql

我正在研究使用Oracle的PL/SQL算法.

我目前有一个程序,只有一个数字参数.我的程序必须创建一个包含与参数值一样多的'0'的字符串.

我目前正在使用for循环来实现此目的:

MY_STRING VARCHAR2(30);
FOR I IN 1..MY_PARAMETER 
LOOP
     MY_STRING := CONCAT(MY_STRING, '0');
END LOOP;
Run Code Online (Sandbox Code Playgroud)

是否有可能以线性方式进行?我的意思是没有循环,甚至没有一个单一的声明.

任何帮助,将不胜感激 !

谢谢.

a_h*_*ame 11

您可以使用LPAD()来实现此目的:

SELECT LPAD('0', my_parameter, '0')
FROM DUAL

以下是手册的链接:http:
//download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions082.htm#i1371196

  • +1:LPAd,就是这样!很好的答案.但也许这个查询更适合所要求的内容:SELECT LPAD('',my_parameter,'0')FROM DUAL因为该参数仅用于计算'0'的数量;) (3认同)