在oracle

时间:2017-10-10 06:21:23

标签: sql-server oracle

在其他语言(C#,Sql Server)中,我看到:1 + null,或者'1'+ null为null,但在Oracle结果中是:1 || null = 1但是'1'+ null = null。例如:

select 1 || null from dual ;
select '1' + null from dual;

结果:1​​,null

谁能告诉我为什么?

1 个答案:

答案 0 :(得分:4)

Oracle将NULL和空字符串视为the same thing

所以1 || NULL1 || ""相同('1' - 这是SQL中的字符串连接,而不是逻辑OR)。

对于+,两个参数都转换为数字,任何涉及NULL的算术运算都会产生NULL