SQL Server 2005 - 检查Null DateTime值

use*_*192 14 sql t-sql sql-server sql-server-2005

我正在尝试计算具有null DateTime值的记录数.但是,出于某种原因,我的尝试失败了.我没有运气就尝试了以下两个查询:

SELECT COUNT(BirthDate) 
  FROM Person p
 WHERE p.BirthDate IS NULL
Run Code Online (Sandbox Code Playgroud)

SELECT COUNT(BirthDate)
  FROM Person p
 WHERE p.BirthDate = NULL
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?当我查询所有记录时,我可以看到BirthDate为NULL的记录.

Joe*_*orn 28

SELECT COUNT(*)
FROM Person
WHERE BirthDate IS NULL
Run Code Online (Sandbox Code Playgroud)


gbn*_*gbn 16

所有答案都是正确的,但我会解释为什么......

COUNT(列)忽略NULL,COUNT(*)包括NULL.

这样可行......

SELECT COUNT(*)
FROM Person
WHERE BirthDate IS NULL
Run Code Online (Sandbox Code Playgroud)