相关疑难解决方法(0)

NULL值被排除在外.为什么?

这是我在Microsoft Sql Server中发现的奇怪行为.如果我错了,请纠正我.

SELECT COUNT(*) FROM TABLEA 
WHERE [Column1] IS NULL;
Run Code Online (Sandbox Code Playgroud)

这将返回30018行.

CREATE VIEW VIEWB AS 
SELECT * FROM TABLEA AS t1 
WHERE t1.[Column1] NOT IN ('Cross/Up sell', 'Renegotiation', 'Renewal')  
Run Code Online (Sandbox Code Playgroud)

如果我检查VIEWB,我不觉得NULLColumn1:

SELECT COUNT(*) FROM VIEWB 
WHERE [Column1] IS NULL;
Run Code Online (Sandbox Code Playgroud)

这将返回0行.

为什么?上面的查询排除了3个值,但不应该排除NULL.为什么Sql Server Ms会以这种方式运行?我应该预料到这一点吗?我该如何解决?

sql sql-server sql-server-2008

20
推荐指数
3
解决办法
2万
查看次数

标签 统计

sql ×1

sql-server ×1

sql-server-2008 ×1