害人的null值,在SQL server 中

发布时间:2024-06-09
我们知道在sql server 中,有一个 null表示为空,这个null要是处理不好,可是要害死人的 :)
因为在sql servel 中 如果你拿一个值去和null值, 不管是用等于,还是不等于,它均返回false
举例来说就是:
select \\\’aa\\\’ where \\\’aa\\\’ <> null
select \\\’aa\\\’ where \\\’aa\\\’ = null
运行以上两句sql结果查询出来的数据都是空,第一句sql并没有按预期的显示字符串aa,而要显示出来只有有下面的sql语句
select \\\’aa\\\’ where \\\’aa\\\’ is not null
还有就是在not in 中如下
select \\\’aa\\\’ where \\\’aa\\\’ not in ( null, \\\’bb\\\’)
按理,应能显示出字符串\\\’aa\\\’,结果却没有显示。因为 \\\’aa\\\’与null的关系既不是相等,也不是不相等。
今天在做查询时就遇到一个相同的问题,如下的查询语句怎么也查不出数据。但一分析数据,又的确能查出
select
*
from dbo.checkvoidso
where sonumber not in (
select distinct sonumber
from imk.dbo.dayliprocesscreditforvoidso
)
最后终于找到原因就是因为子查询是有空值,就是那个空值惹的祸。一排除空值,一切正常。
select *
from dbo.checkvoidso
where sonumber not in (
select distinct sonumber
from imk.dbo.dayliprocesscreditforvoidso
where not sonumber is null
)
上一个:ICP传感器采集低频信号工作原理
下一个:杭州婚纱照几月份拍比较好

RTT061204DTP现货库存,最新价格
土地使用证抵押贷款需要什么材料
夫妻之间有什么义务
喜马拉雅怎么配音赚钱 新人喜马拉雅配音赚钱的方法
醉驾个人辩护争取缓刑可行吗
汽车衡(电子地磅)的维护与保养
win7专业版永久激活码(windows7激活密钥永久版专业版)
腾讯云服务器网站怎么修改源码
婚礼主题风格有哪些
win10默认字体大小修改(windows10默认字体修改)