oracle中 null 和 '' 和' '的比对

SELECT LENGTH(''),LENGTH(NULL),LENGTH(' '),LENGTH(TRIM(' ')) FROM dual;
返回结果为
null,null,1,null
也就是在oracle中null和''等价,不能用length('')或者length(null)来判断空值
oracle中nullif的作用(可以防止除0)
例如

select 1/nullif(0,0) from dual;
返回值为空

结论:
oracle中sql计算的时候要考虑字段中的null值或者空字符(null)对计算结果的影响
Oracle sum(),count(),avg()的字段中有空值,不会参与计算

posted @ 2023-01-12 10:56  diablo-427  阅读(287)  评论(0编辑  收藏  举报