Oracle中对空字符串的判断方式


Oracle中对空字符串的判断

oracle中常见的一个小错误就是字符串判断是否为空 。

习惯了编程的人喜欢用<> !=,但这样都是错误的,应该使用is null 或者 is not null, 或者使用nvl函数

首先理解,在oracle中,默认将空字符视为null,而对null进行判断都为false

例如

‘1’ != null 我们看上去这是对的,但是和null的比较都为fasle,所以结果是false

举个例子:

select ( case when 'sdfds' is not null then 1 else 2 end ) result from dual;

select ( case when 'sdfds' !=null then 1 else 2 end ) result from dual;

或者使用nvl函数,nvl(字符串,为空时的默认值)

Oracle 字符串不存在空串

Oracle版本 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

测试内容

搜索当字符串为空时oracle数据库字段 字符串不会出现空串"" 的情况,当设置字符为"" 时,oracle会默认把它设置为null 。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持 。