日期:2014-05-19  浏览次数:20380 次

数据库中null空值的比较问题
据说默认情况下,SQLserver里和空值比较,   结果既不会是true也不是false,而是unknow.  

例如   a   =   Null   ,   Null   =   Null   等

那么在.net里,如果要选出用户性别为 "男 "的记录,而sex列里允许空

select   *
from   ....
where   sex   =   '男 '

会实现把 "男 "的都选出来吗?   还是会有异常?   还是会把 "空值 "也选出来?

------解决方案--------------------
实会现把 "男 "的都选出来,不会异常
------解决方案--------------------
会实现把 "男 "的都选出来吗? 还是会有异常? 还是会把 "空值 "也选出来?
=============================================================

会,没有异常,不包括空值
------解决方案--------------------
会实现把 "男 "的都选出来,没有异常,不会挑选出空值
------解决方案--------------------
select *
from ....
where isnull(sex, ' ') = '男 '