1.簡單Case函數函數
CASE sexspa
WHEN '1' THEN '男'blog
WHEN '2' THEN '女'排序
ELSE '其餘' ENDit
2.Case搜索函數io
CASE WHEN sex = '1' THEN '男'table
WHEN sex = '2' THEN '女'class
ELSE '其餘' ENDselect
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