Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle RPAD()使用空字符串填充_Sql_Oracle - Fatal编程技术网

Sql Oracle RPAD()使用空字符串填充

Sql Oracle RPAD()使用空字符串填充,sql,oracle,Sql,Oracle,我正在尝试从SQL*Plus中创建转储文件。要求是为填充创建null,但当我使用null时,甚至数据值也会被null化,请参见下文 SQL> select RPAD(1234,10,' ') from dual ; RPAD(1234, ---------- 1234 SQL> select RPAD(1234,10,'') from dual; R - 我见过其他脚本,它们似乎使用null填充 请帮助,谢谢此代码: RPAD(1234,10,'') 将1234连接到,这在O

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

SQL> select RPAD(1234,10,' ') from dual ; RPAD(1234, ---------- 1234 SQL> select RPAD(1234,10,'') from dual; R - 我见过其他脚本,它们似乎使用null填充

请帮助,谢谢此代码:

RPAD(1234,10,'')
将1234连接到,这在Oracle中相当于NULL,因此会导致NULL任何连接到NULL的内容都会产生NULL

Oracle中没有空值


希望有帮助。

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

RPAD可用于返回一个字符串,根据第2个参数,该字符串的长度保证为n个字符


由于NULL不表示任何特定的字符或字符串,且长度为零,因此不能将其用于填充-在本例中,RPAD显然返回NULL,这是有意义的,因为RPAD唯一的另一个选项是引发异常。

您到底想做什么?空字符串和空字符串是不同的。与他们中的任何一个打交道都没有意义。通常,单个空间用于填充。您是否可能误解为“”?@PM77-1在oracle null和空字符串中是相同的:请尝试从dual中选择*,其中为null;是的。“RPADexpr1,n[,expr2]…expr1不能为null。”@javaplesse42,是的-但OP谈论的是expr2,它可以为null,但如果那样使用,它不是很有用。