我正在尝试从SQL * Plus中创建转储文件。要求是为填充创建null'',但是当我使用NULL时,即使数据值无效,请参阅下文。
SQL> select RPAD(1234,10,' ') from dual ; RPAD(1234, ---------- 1234 SQL> select RPAD(1234,10,'') from dual; R -
我见过其他脚本,他们似乎使用null('')来填充
请帮助谢谢
答案 0 :(得分:4)
RPAD接受一个字符或字符串作为其第三个参数,用于将初始字符串“填充”到特定长度。
RPAD可用于返回一个“保证”长 n 个字符的字符串(根据第二个参数)。
由于NULL不表示任何特定字符或字符串且长度为零,因此不能用于填充 - RPAD显然在此实例中返回NULL,这是有道理的,因为RPAD引发异常的唯一其他选项。
答案 1 :(得分:-1)
此代码:
RPAD(1234,10,'')
将1234连接到'',在Oracle中相当于NULL,因此它会导致NULL(连接到NULL的任何内容都会产生NULL)
Oracle中没有NULL('')。
希望有所帮助。