Oracle的case 用法

1.测试表
declare @stuinfo table
(id int,
sname nvarchar(20), ///小组名称
gender varchar(1), //小组性别
sgroup int) //小组序号

2.语法:
  case [表达式]
when 条件表达式 then 结果表达式
  [...n]
  [else 其他条件表达式]
  end
  注:其中[]内都是可选的。

3.case后加表达式,根据表达式结果返回。
select *,
case sgroup
when 1 then '组1'
when 2 then '组2'
when 3 then '组3'
else '未知' end [as] 别名
from 表名

4.case 后不加表达式,不加表达式,则根据when的条件返回。
select *,
case
when sgroup = 1 and gender = 'm' then '第一组男生'
when sgroup = 1 and gender = 'f' then '第一组女生'
when sgroup = 2 and gender = 'm' then '第二组男生'
when sgroup = 2 and gender = 'f' then '第二组女生'
when sgroup = 3 and gender = 'm' then '第三组男生'
when sgroup = 3 and gender = 'f' then '第三组女生'
else '未知' end [as] 别名
from 表名

posted @ 2018-03-12 15:23  小痞子Yang  阅读(2550)  评论(0编辑  收藏  举报