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 |
+--------------+