Oracle CASE WHEN 用法介紹

2021-09-20 07:20:49 字數 1778 閱讀 3721

oracle case when 用法介紹

case when 表示式有兩種形式

--簡單case函式  

case ***

when '1' then '男'

when '2' then '女'

else '其他' end

--case搜尋函式

case

when *** = '1' then '男'

when *** = '2' then '女'

else '其他' end

case when 在語句中不同位置的用法

2.1 		select case when 用法

//*** 1為男生,2為女生

select grade, count (case when *** = 1 then 1

else null

end) 男生數,

count (case when *** = 2 then 1

else null

end) 女生數

from students group by grade;

2.2 where case when 用法

select t2.*, t1.*

from t1, t2

where (case when t2.compare_type = 'a' and

t1.some_type like 'nothing%'

then 1

when t2.compare_type != 'a' and

t1.some_type not like 'nothing%'

then 1

else 0

end) = 1

2.3 group by case when 用法

select

case when salary <= 500 then '1'

when salary > 500 and salary <= 600 then '2'

when salary > 600 and salary <= 800 then '3'

when salary > 800 and salary <= 1000 then '4'

else null end salary_class, -- 別名命名

count(*)

from table_a

group by

case when salary <= 500 then '1'

when salary > 500 and salary <= 600 then '2'

when salary > 600 and salary <= 800 then '3'

when salary > 800 and salary <= 1000 then '4'

else null end;

3.關於if-then-else的其他實現

select t2.*, t1.*

from t1, t2

where (t2.compare_type = 'a' and t1.some_type like 'nothing%')

or(t2.compare_type != 'a' and t1.some_type not like 'nothing%')

Oracle CASE WHEN 用法介紹

簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 2.1 select case when 用法 select grade,count...

Oracle CASE WHEN 用法介紹

簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 2.1 select case when 用法 select grade,count...

Oracle CASE WHEN 用法介紹

簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 2.1 select case when 用法 select grade,count...