PostgreSQL CASE 表达式


案件

这个CASE表达式遍历条件并在满足第一个条件时返回一个值(类似于 if-then-else 语句)。

一旦条件成立,它将停止读取并返回结果。如果没有条件成立,则返回ELSE条款。

如果没有ELSE部分且没有条件为真,则返回 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;
运行示例 »

您可以在我们的中阅读有关别名的更多信息PostgreSQL AS 章节