【发布时间】:2014-10-22 16:05:47
【问题描述】:
我正在尝试使用 CASE 将空值标记为 1,否则为 0。
CASE WHEN ([postcode]=NULL)
THEN 1
ELSE 0 END AS pc_missing
尽管我知道有很多缺失的数据,但它们都没有收到 1 的值。
我做错了什么?
【问题讨论】:
-
[postcode] IS NULL
标签: sql if-statement count case
我正在尝试使用 CASE 将空值标记为 1,否则为 0。
CASE WHEN ([postcode]=NULL)
THEN 1
ELSE 0 END AS pc_missing
尽管我知道有很多缺失的数据,但它们都没有收到 1 的值。
我做错了什么?
【问题讨论】:
[postcode] IS NULL
标签: sql if-statement count case
null 不是一个值 - 它是缺少一个值。 null 在针对任何值运算符进行评估时返回“未知”(不是 true) - =、!=、>、< 等。相反,您应该使用 @987654328 进行检查@运算符:
CASE WHEN ([postcode] IS NULL)
THEN 1
ELSE 0 END AS pc_missing
【讨论】: