条件判断函数亦称为控制流程函数,根据满足的条件而执行相应的流程。 在 PostgreSQL
中只有一种条件判断函数,为 CASE
函数
语法规则如下:
CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END --语法一 CASE WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rn] END --语法二点击复制复制失败已复制
语法一表示:如果 expr
值等于某个 vn
,则返回对应位置 THEN
后面的结果;如果与所有值都不相等,则返回 ELSE
后面的 rn
。 语法二表示:某个 vn
值为 TRUE
时,返回对应位置 THEN
后面的结果;如果所有值都不为 TRUE
,则返回 ELSE
后的 rn
。
示例:
$ SELECT CASE 2 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END, CASE WHEN 1 < 0 THEN 'true' ELSE 'false' END;点击复制复制失败已复制
执行结果:
case(text) | case(text) |
two | false |