NULLIF 函数

NULLIF 表达式返回不同的结果,这依赖于它的两个参数是否相等。
NULLIF 函数
元素 描述 限制 语法
expr1 expr2 返回兼容的数据类型的值的表达式 不可为 BYTE 或 TEXT 数据类型 表达式
NULLIF 对它的两个参数 expr1expr2 求值。
  • 如果它们的值相等,则 NULLIF 返回 NULL。
  • 如果它们的值不等,则 NULLIF 返回 expr1
expr1expr2 参数可为存在内建的比较函数的任何数据类型,或可强制转型为有内建的比较函数的相兼容的数据类型的任何两种数据类型。
下列示例使用 NULLIF 函数来将布尔 FALSE 值('f')转换为 NULL 值:
SELECT name, answer, NULLIF(answer, 'f') FROM booktab;
        

在此,第一个参数是可有真('t')或假('f')值的布尔列表达式,且第二个布尔参数始终为 'f"(表示 FALSE)。对于在 answer 列中有 'f' 的行,通过 NULLIF 函数返回的值会是 NULL(因为当参数相等时,返回 NULL 值)。然而,对于有 't' 作为第一个参数,通过 NULLIF 返回的值总是 't',因为当一个是 't' 而其他的是 'f' 时,两个参数不可相等;当两个值不相等时,返回第一个参数。