日期:2014-05-17  浏览次数:20829 次

Oracle查询的怪现象
当我以某个为空的字段作为限制条件时,就查不到结果,怎么回事?
例如:
select * from XX where TNAME=''
其中,TNAME是表XX的一个可以为空的字段。
TNAME为空的数据明明有很多条,结果一条都查不到。
这种情况谁遇到过?
麻烦指教一下怎么解决,谢谢!

------解决方案--------------------
select * from XX where TNAME='' OR length(tname)=0;

试试这个?

------解决方案--------------------
SQL code
...WHERE TNAME IS NULL...

------解决方案--------------------
SQL code
select * from XX where TNAME is null;


 

引用楼主 jiangqicheng 的帖子:
当我以某个为空的字段作为限制条件时,就查不到结果,怎么回事?
例如:
select * from XX where TNAME=''
其中,TNAME是表XX的一个可以为空的字段。
TNAME为空的数据明明有很多条,结果一条都查不到。
这种情况谁遇到过?
麻烦指教一下怎么解决,谢谢!

------解决方案--------------------
select * from XX where TNAME is null
------解决方案--------------------
''插入到oracle后,就是一条null值,而不是''.

探讨
刚试了,不行。我插入时明明给tname字段插的就是'',怎么查询时就查不到捏?