CASE函数
可以根据条件列表的值返回多个可能的结果表达式中的一个。
可用在任何允许使用表达式的地方,但不能单独作为一个语句执行。
分为简单CASE函数和搜索CASE函数。
CASE 测试表达式 WHEN 简单表达式1 THEN 结果表达式1 WHEN 简单表达式2 THEN 结果表达式2 … WHEN 简单表达式n THEN 结果表达式n [ ELSE 结果表达式n+1 ] END
CASE WHEN 布尔表达式1 THEN 结果表达式1 WHEN 布尔表达式2 THEN 结果表达式2 … WHEN 布尔表达式n THEN 结果表达式n [ ELSE 结果表达式n+1 ] END
下面这段代码,从user_profile表中选取出了三列,分别是device_id、gender和age_cut。分别表示:设备id、性别和年龄范围。第三列根据age的条件给出了不同的结果,这就是条件函数所做的事。
select device_id, gender, case when age>=25 then '25岁及以上' when age>=20 then '20-24岁' when age<20 then '20岁以下' else '其他' end as age_cut from user_profile
select需要想象数据库是一条一条进入sql语句的,如果这条数据的满足某个case条件,则使某条数据的值。