我有以下格式的表格。我正在尝试查询此表以获取所有不是PC和PT的记录。
所以我的查询应该返回ID 3,4,5,6,7并且应该忽略1和2
CREATE TABLE #t (ID INT, V VARCHAR(16))
INSERT INTO #t
VALUES (1, 'PC'),
(2, 'PT'),
(3, NULL),
(4, NULL),
(5, NULL),
(6, 'PS'),
(7, 'PD');
drop table #t
我使用的查询只返回6和7,并忽略结果集中的空记录。:
select
id, v
from
#t
where
v != 'PC' and V != PT
请告诉我如何在结果集中包含null?
答案 0 :(得分:1)
您的查询也应该检查null条件。
查询 -
select id , v from #t where v not in ('PC' , 'PT') OR v is null
答案 1 :(得分:0)
select id , v from #t where v!='PC' and V!=PT or OR V IS NULL
一切都好。请添加空条件
或
select id , v from #t where v not in ('PC' , 'PT') and v is null
使用not in
它将返回除PC和PT之外的所有行
答案 2 :(得分:0)
不使用!=
表示每个条件,而是使用not in
并处理空值,请使用isnull
select
id, v
from
#t
where
isnull(v,'') not in ('PC', 'PT')