在PostgreSQL中,CASE表达式用于在SELECT语句中根据条件返回不同的值。其语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1
、condition2
等为条件表达式,result1
、result2
等为满足对应条件时返回的值,default_result
为如果所有条件都不满足时返回的默认值。
例如,以下示例展示了一个简单的CASE表达式用法:
SELECT
name,
CASE
WHEN age < 18 THEN 'Child'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM users;
在这个示例中,根据用户的年龄返回不同的年龄组别。如果年龄小于18岁,则返回’Child’,如果年龄在18岁到65岁之间,则返回’Adult’,否则返回’Senior’。