SQLServer2008 关于CASE WHEN

SQLServer2008 关于CASE WHEN,第1张

概述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).两者相比,Ca

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:

@H_301_102@order by case when ISNulL(A.ReqDate,'')!='' then A.ReqDate else A.PlanReqDate end desc

总结

以上是内存溢出为你收集整理的SQLServer2008 关于CASE WHEN全部内容,希望文章能够帮你解决SQLServer2008 关于CASE WHEN所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1163690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存