SQLServer2008关于CASEWHEN

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQLServer2008关于CASEWHEN CASE WHEN的两种格式
1.简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '⼥'
ELSE '其他' END
2.Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '⼥'
ELSE '其他' END
1).两者相⽐,Case搜索函数功能更强。

2).Case函数类似于if……else if 语句,只返回第⼀个符合条件的值,之后的部分会被忽略
例⼦:(按照指定规则分组,并计算每组⼈数)
create table #temp
(
country varchar(100),
people int
)
insert into #temp
select 'A',400 union all
select 'B',2890 union all
select 'C',3490 union all
select 'D',5678 union all
select 'E',457 union all
select 'F',2345
select
CASE WHEN country='A' or country='B' THEN '1组'
WHEN country='C' or country='D' THEN '2组'
WHEN country='E' or country='F' THEN '3组'
END 组别,SUM(people) ⼈数合计
from #temp
group by
CASE WHEN country='A' or country='B' THEN '1组'
WHEN country='C' or country='D' THEN '2组'
WHEN country='E' or country='F' THEN '3组'
END
ps.
Order by 后也可使⽤Case when ⽤于筛选需要的排序数据
Example:
order by case when ISNULL(A.ReqDate,'')!='' then A.ReqDate else A.PlanReqDate end desc。

相关文档
最新文档