习惯了oracle10g写法的朋友们注意了,oralce11g有变化了,小谈空字符串与null的区别

场景:以前oracle10g的时候习惯使用case when nvl(字段,‘’)=‘’ then …取值1 else 取值2 end ,在oralce11g也这么写的时候,你会发现,所有取值都会取值2,不会取到取值1,为什么呢?
这是因为oracle中字段时空字符串等同与null,也就是nvl(字段,‘’)也是null,不会得到‘’,所以这个条件在oracle11g上永远是不成立的。
但是要特别注意的是字段时空字符串与null在where条件时不相同,不信可以测试一下如下代码:
select case when ’ ’ is null then 1 end
from dual where ’ ’ is null ;
结果等你来测试吧?欢迎小伙伴们,留言讨论!

作者:健健康康666

相关推荐

Django cookie 与 session

Django cookie 与 session

Django ORM – 多表实例(聚合与分组查询)

Django Form 组件

Django ORM – 多表实例

Django ORM – 多表实例