MySQL
MySQL
SELECT IF(qty > 0, 'in_stock', 'sold_out') AS state FROM products;
SELECT IFNULL(NULLIF(city, ''), '未知') FROM users;PostgreSQL
PostgreSQL
SELECT CASE WHEN qty > 0 THEN 'in_stock' ELSE 'sold_out' END AS state
FROM products;| MySQL | IF(expr, then, else),可嵌套 |
|---|---|
| PostgreSQL | 表达式位置只能用 CASE;IF 只存在于 plpgsql 存储过程语言里 |
| 标准写法 | CASE WHEN … THEN … ELSE … END 两库通用 |