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数据