Oracle数据库空字符串和空字符串比较的问题

Posted 武小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库空字符串和空字符串比较的问题相关的知识,希望对你有一定的参考价值。

今天在公司遇到了一个问题,页面上传输回来的值总是有问题,一路排查下来发现是sql出现了,查看sql中发现从页面上传回来了两个值都是空的,就是\'\'这个样子的。然后再对这个两个值进行了等于判断\'\'=\'\'

然后Oracle返回的是false。

举例: 

select 
* 
from emp
where 1=1

结果:

然后我们更变条件变成 \'\'=\'\'

select 
* 
from emp
where \'\'=\'\'

结果:

解决方法:使用nvl()函数来处理

select 
* 
from emp
where nvl(\'\',0)=nvl(\'\',0)

结果:

 

以上是关于Oracle数据库空字符串和空字符串比较的问题的主要内容,如果未能解决你的问题,请参考以下文章

用于测试非空字符串和非空字符串的兼容 SQL

oracle存空字符串怎么会变成null

Oracle 11 PL/SQL:检查变量是不是为空、空字符串和无结果

hive的空字符串与null

MySQL中如何排除null和空字符串的条件

Oracle 将空字符串视为 Java / JPA 程序员的 NULL 问题