【发布时间】:2013-02-09 19:52:30
【问题描述】:
我正在尝试找到编写 T-SQL 'IS NULL' 的 ANSI 方法。 (更正,是'IN NULL') 互联网上的一些帖子说你可以使用 coalesce 让它像'IS NULL'一样工作
我喜欢这样做的原因:可移植的代码。并且查询必须返回NULL 的行。
到目前为止,我创建了这个:
SELECT empid,
firstname,
lastname,
country,
coalesce(region,'unknown') AS regions ,
city
FROM HR.Employees
结果集如下所示:
empid firstname lastname country regions city
1 Sara Davis USA WA Seattle
2 Don Funk USA WA Tacoma
3 Judy Lew USA WA Kirkland
4 Yael Peled USA WA Redmond
5 Sven Buck UK unknown London
6 Paul Suurs UK unknown London
7 Russell King UK unknown London
8 Maria Cameron USA WA Seattle
9 Zoya Dolgopyatova UK unknown London
我确定了NULL 的行,但是如何将它们从该集合中过滤掉?
【问题讨论】:
-
如果有更好的过滤方法,请告诉。
-
所以您希望查询返回所有上述行,但
regions值为unknown的行除外? -
你是想说
unknown是NULL吗? -
您希望只查看 NULL 行吗?
-
@chihwahli 。 . .我假设您问题的第一行是关于
IS NULL而不是IN NULL(我不熟悉)。
标签: sql coalesce isnull ansi-sql