示例
示例
-- 防止除零:分母为 0 时结果为 NULL 而不是报错
SELECT total / NULLIF(qty, 0) AS unit_price FROM orders;
-- 把 'N/A' 统一成 NULL
SELECT NULLIF(status, 'N/A') FROM t;| 规则 | NULLIF(a,b):a=b 返回 NULL,否则返回 a |
|---|---|
| 等价形式 | CASE WHEN a = b THEN NULL ELSE a END |
| 类型 | 两库都按比较规则先做类型协商 |
MySQL 的除法除数为 0 返回 NULL 并告警,PostgreSQL 直接报 division by zero;跨库迁移 NULLIF 保护不能省。