SQL case函数
当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用 Case When这个函数了.
有一个 客户表:
根据表内等级 查找 客户等级:
select 名字,年龄, ( --括号内 case 等级 --查找等级列 when 1 then '普通客户' --符合1 when 2 then '普通会员' --符合2 when 3 then '白金会员' --符合3 when 4 then '黄金会员' --符合4 else '未知客户' --没有匹配的 end --完毕 ) as 客户类型 --为列命名 from 客户 --客户表
输出结果:
根据年龄限制消费额度:
select 名字,年龄, ( --case 写在括号内 case --不写列 when 年龄<18 then '未成年,禁止入内' --检查年龄列 数据是否小于18 when 年龄>=18 and 年龄 <=27 then '可以消费1000元以下.' --检查年龄列 数据是否大于或等于18 或 小于等于27 when 年龄>27 and 年龄 <=29 then '可以消费10000元以下.' else '无限制' --其他年龄无限制 end --完毕 ) as 消费限额 --为列命名 from 客户 --客户表
输出结果: