PostgreSQL CASE 表达式
CASE
CASE
表达式遍历条件,并在满足第一个条件时返回一个值(如 if-then-else
语句)。
一旦条件为 true,它将停止读取并返回结果。如果没有条件为 true,则返回 ELSE
子句中的值。
如果没有 ELSE
部分并且没有任何条件为 true,则返回 NULL。
实例
如果价格满足特定条件,则返回特定值:
SELECT product_name,
CASE
WHEN price < 10 THEN 'Low price product'
WHEN price > 50 THEN 'High
price product'
ELSE
'Normal product'
END
FROM
products;
与别名一起
如果没有为 case
字段指定列名,解析器将使用 case
作为列名。
要指定列名,请在 END
关键字后添加别名。
实例
相同的示例,但使用了 case
列的别名:
SELECT product_name,
CASE
WHEN price < 10 THEN 'Low price product'
WHEN price > 50 THEN 'High
price product'
ELSE
'Normal product'
END AS "price category"
FROM
products;