1

我正在尝试从 SQL*Plus 中创建转储文件。要求是为填充创建 null '' 但是当我使用 NULL 时,即使数据值也会被无效,请参见下文。

SQL> select RPAD(1234,10,' ') from dual ;

RPAD(1234,
----------
1234

SQL> select RPAD(1234,10,'') from dual;

R
-

我见过其他脚本,它们似乎使用 null('') 进行填充

请帮忙谢谢

4

2 回答 2

4

RPAD 接受一个字符或字符串作为其第三个参数,用于将初始字符串“填充”到特定长度。

RPAD 可用于返回一个“保证”长度为n 个字符的字符串(根据第二个参数)。

由于 NULL 不代表任何特定的字符或字符串并且长度为零,因此它不能用于填充 - RPAD 在这种情况下显然返回 NULL,这是有道理的,因为唯一的其他选项是 RPAD 引发异常。

于 2013-09-12T04:10:21.713 回答
-1

这段代码:

RPAD(1234,10,'')

将 1234 连接到 '',在 Oracle 中相当于 NULL,因此它会导致 NULL(任何连接到 NULL 的东西都会产生 NULL)

Oracle 中没有 NULL('')。

希望有帮助。

于 2013-09-12T00:50:29.027 回答