SQL Server 2005 - проверьте значение Null DateTime

Я пытаюсь подсчитать количество записей с нулевым значением DateTime. Однако по какой-то причине мои попытки потерпели неудачу. Я пробовал следующие два запроса без везения:

SELECT COUNT(BirthDate) 
  FROM Person p
 WHERE p.BirthDate IS NULL

и

SELECT COUNT(BirthDate)
  FROM Person p
 WHERE p.BirthDate = NULL

Что я делаю неправильно? Я могу видеть записи с BirthDate из NULL, когда я запрашиваю все записи.

Ответ 1

SELECT COUNT(*)
FROM Person
WHERE BirthDate IS NULL

Ответ 3

попробуйте это

SELECT     COUNT(*) 
FROM     Person p
WHERE     p.BirthDate IS NULL

Ответ 4

Это происходит потому, что вы пытаетесь сделать COUNT на NULL. Я думаю, что если вы проверите вкладку сообщений, у вас может появиться сообщение с сообщением NULL values eliminated from aggregate

Что вам нужно изменить, это поле, которое вы считаете

Select Count (1) FROM Person WHERE BirthDate IS NULL

Select Count (*) FROM Person WHERE BirthDate IS NULL

Select Count (1/0) FROM Person WHERE BirthDate IS NULL

Select Count ('duh') FROM Person WHERE BirthDate IS NULL /* some non null string*/

Ответ 5

Вам нужно использовать "IS NULL", а не "= NULL"

SELECT
  COUNT('')
FROM
  Person p
WHERE
  BirthDate IS NULL