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。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网(www.lsjlt.com)。