NULLIF
描述
如果两个输入值相等,则返回 NULL
;否则返回第一个输入值。该函数等价于以下 CASE WHEN
表达式:
CASE
WHEN <expr1> = <expr2> THEN NULL
ELSE <expr1>
END
语法
NULLIF(<expr1>, <expr2>)
参数
<expr1>
需要进行比较的第一个输入值,参数类型说明见下面的使用说明。<expr2>
需要与第一个输入值进行比较的第二个值,参数类型说明见下面的使用说明。
使用说明
参数支持以下类型:
- 布尔(Boolean)
- 数字类型(TinyInt、SmallInt、Int、BigInt、LargeInt、Float、Double、Decimal)
- 日期类型(Date、DateTime、Time)
- 字符类型(String、VARCHAR、CHAR)
返回值
- 如果
<expr1>
等于<expr2>
,则返回NULL
。 - 否则,返回
<expr1>
的值。
示例
- 示例 1
SELECT NULLIF(1, 1);
+--------------+
| NULLIF(1, 1) |
+--------------+
| NULL |
+--------------+ - 示例 2
SELECT NULLIF(1, 0);
+--------------+
| NULLIF(1, 0) |
+--------------+
| 1 |
+--------------+