not in 和 <> 获取取字段为null的数据

当数据库字段可以为null时,不等于和not in 不能获取到为null 的数据,需要特殊处理才能获取值

DECLARE @table TABLE(
id INT IDENTITY(1,1),
name VARCHAR(100) null
)

INSERT INTO @table
(
name
)
SELECT NULL UNION ALL
SELECT 'aa' UNION ALL
SELECT 'bb' UNION ALL
SELECT 'cc'


SELECT * FROM @table WHERE name <> 'aa' --取不到null数据

SELECT * FROM @table WHERE ISNULL(name,'') <> 'aa' --取不到null数据

SELECT * FROM @table WHERE name NOT IN( 'aa','bb') --取不到null数据

SELECT * FROM @table WHERE ISNULL(name,'') NOT IN( 'aa','bb') --取不到null数据

posted @ 2020-05-12 12:15  开心★就好  阅读(27)  评论(0编辑  收藏  举报