这是关于我在 Microsoft Sql Server 中发现的一种奇怪行为。如果我错了,请纠正我。
SELECT COUNT(*) FROM TABLEA
WHERE [Column1] IS NULL;
这将返回 30018 行。
CREATE VIEW VIEWB AS
SELECT * FROM TABLEA AS t1
WHERE t1.[Column1] NOT IN ('Cross/Up sell', 'Renegotiation', 'Renewal')
如果我检查,VIEWB
我找不到:NULL
Column1
SELECT COUNT(*) FROM VIEWB
WHERE [Column1] IS NULL;
这将返回 0 行。
为什么?上面的查询排除了 3 个值,但不应该排除 NULL。为什么 Sql Server 女士会这样?我应该预料到这一点吗?我该如何解决?