我需要一个返回我需要的n个空格("")的查询 追加我一个固定长度的文件。
到目前为止,我已经能够创建
select ' ' from dual connect by level < 254
这会返回多条记录,我只需要一条253个空格的记录。
答案 0 :(得分:3)
我认为这会奏效:
select rpad(' ', 254)
from dual;
答案 1 :(得分:2)
检查LPAD功能:
select LPAD(' ', 254, ' ') from dual connect by level < 254;
p.s。 :如果只需要一行,请使用
select LPAD(' ', 254, ' ') from dual;
这会为字符串' '
预先填充多个空格' '
,因此返回的值的长度为254.
答案 2 :(得分:1)
从水平双重连接中选择''&lt; 254
只为了一些乐趣!您可以使 查询工作,而不使用 LPAD 。使用字符串聚合,例如 LISTAGG :
例如,
WITH DATA AS(
SELECT ' ' str FROM dual CONNECT BY LEVEL < 254
)
SELECT listagg(str, '') WITHIN GROUP(ORDER BY str) str FROM DATA;
您可以检查长度以查看它创建的空格数:
SQL> WITH DATA AS(
2 SELECT ' ' str FROM dual CONNECT BY LEVEL < 254
3 )
4 SELECT LENGTH(listagg(str, '') WITHIN GROUP(ORDER BY str)) str FROM DATA;
STR
----------
253
虽然这也提供了所需的输出,但这只是为了好玩,适当的方法是使用 LPAD
。