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...