Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

NULLIF 表达式

语法

NULLIF 表达式比较两个参数并在两个参数相等时返回 null。如果两个参数不相等,则返回第一个参数。此表达式为 NVL 或 COALESCE 表达式的反向表达式。

Copy
NULLIF ( expression1, expression2 )

参数

expression1,expression2

所比较的目标列或表达式。返回类型与第一个表达式的类型相同。NULLIF 结果的默认列名称为第一个表达式的列名称。

示例

在以下示例中,查询在 LISTID 和 SALESID 值匹配时返回 null:

Copy
select nullif(listid,salesid), salesid from sales where salesid<10 order by 1, 2 desc; listid | salesid --------+--------- 4 | 2 5 | 4 5 | 3 6 | 5 10 | 9 10 | 8 10 | 7 10 | 6 | 1 (9 rows)

您可以使用 NULLIF 来确保始终将空字符串返回为 null。在以下示例中,NULLIF 表达式返回一个 null 值或一个包含至少一个字符的字符串。

Copy
insert into category values(0,'','Special','Special'); select nullif(catgroup,'') from category where catdesc='Special'; catgroup ---------- null (1 row)

NULLIF 忽略尾随空格。如果一个字符串不为空但包含空格,则 NULLIF 仍返回 null:

Copy
create table nulliftest(c1 char(2), c2 char(2)); insert into nulliftest values ('a','a '); insert into nulliftest values ('b','b'); select nullif(c1,c2) from nulliftest; c1 ------ null null (2 rows)

本页内容: