【发布时间】:2015-04-21 13:43:06
【问题描述】:
我有以下格式的表格。我正在尝试查询此表以获取所有不是 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?
【问题讨论】:
-
在
WHERE子句中添加OR V IS NULL。 -
只使用 NOT IN ('PC', 'PT')。它将返回除 PC 和 PT 之外的所有行
-
@PareshJ -
NOT IN ('PC','PT')也将排除NULL记录。 -
是的,应该不在('PC','PT')或者v为空
标签: sql-server where