PostgreSQL CASE 表达式
CASE
CASE 表达式会检查条件,并在满足第一个条件时返回一个值(类似于 if-then-else 语句)。
一旦某个条件为真,它就会停止读取并返回结果。如果没有条件为真,则返回 ELSE 子句中的值。
如果没有 ELSE 部分且没有条件为真,它将返回 NULL。
实例
如果价格满足特定条件,则返回特定值:
SELECT product_name, CASE WHEN price < 10 THEN '低价产品' WHEN price > 50 THEN '高价产品' ELSE '普通产品' END FROM products;
使用别名
当没有为“case”字段指定列名时,解析器将使用 case 作为列名。
要指定列名,请在 END 关键字后添加别名。
实例
同样的例子,但为 case 列添加了一个别名:
SELECT product_name, CASE WHEN price < 10 THEN '低价产品' WHEN price > 50 THEN '高价产品' ELSE '普通产品' END AS "price category" FROM products;
您可以在我们的 PostgreSQL AS 章节中阅读有关别名的更多信息。