比如一个表中的a字段有几种取值:0,1,10,NULLWHERE条件过滤时a<>10和isnull(a,0)<>10有什么区别么前者能得到NULL的记录么
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
首先:前者不可以,后者可以 这个没问题
测试情况如下
create table #aa(
a int null ,
b int,
)
insert #aa(a,b) values (1,1)
insert #aa(a,b) values (10,10)
insert #aa(a,b) values (0,0)
insert #aa(b) values (20)
select * from #aa where a<>10
(2 rows affected)
select * from #aa where isnull(a,0)<>10
(3 rows affected)
结果如下:
a b
----------- -----------
1 1
0 0
a b
----------- -----------
1 1
0 0
NULL 20
select isnull(null,0)可以看出结果为0说明为空的时候为0
添加回答
举报
0/150
提交
取消