【转】oracle null

时间:2024-11-28 09:05:44

转自:oracle的null和空字符串''

1、oracle 将 空字符串即''当成null

2、null 与任何值做逻辑运算得结果都为 false,包括和null本身

3、用 is null 判断时,空字符串和 null 都 is null

4、null 和任何数值进行数学运算,结果都为 null

5、可以使用 || 将空字符串或 null 和字符串连接

select 'a' || null || 'b' from dual; =>结果为ab

6、null作为以下的 Oracle 内置的函数的参数时,结果也为null
select nvl(length(null),-1) from dual;

select nvl(trim(null),-1) from dual;

select nvl(ltrim(null),'-1') from dual;
select nvl(rtrim(null),'-1') from dual;
select nvl(rtrim(null,' '),'-1') from dual;

select nvl(soundex(null),'-1') from dual;

select nvl(SubStr(null,1),-1) from dual;

select nvl(InStr(null,1),-1) from dual;

select nvl(replace(null,'a','b'),'-1') from dual;

select nvl(min(null),'-1') from dual;
select nvl(max(null),'-1') from dual;
select nvl(sum(null),'-1') from dual;
select nvl(avg(null),'-1') from dual;
select nvl(sum(null),'-1') from dual;

7、null作为以下的 Oracle 内置的函数的参数时,结果不为null:

select concat('a', null) from dual;
select concat(null, 'a') from dual;
select count(null) from dual;

8、其他函数用的时候,也可以使用以上的方法测试