oracle筆記--case的使用和繫結變數
阿新 • • 發佈:2019-01-26
oracle裡的case功能非常強大,
簡單的用法:
select
CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' ENDfrom student;
還沒有當做預處理去使用
select (case 1
when 1 then 11
when 2 then 22
else 33 end) from dual;
繫結變數
SQL>variable vcc varchar2(10); SQL> exec :vcc := 'test'; SQL> select :vcc from dual;
定義一個變數 :type,就可以和case混合使用了
select (case :type
when 1 then 11
when 2 then 22
else 33 end) from dual;
--
使用示例
select
to_char(oper_time, (case :type
when 1 then 'yyyymmdd'
when 2 then 'yyyymm'
when 3 then 'yyyy'
else 'yyyy' end)) oper_time, count(1)
from info group by to_char(oper_time, (case :type
when 1 then 'yyyymmdd'
when 2 then 'yyyymm'
when 3 then 'yyyy'
else 'yyyy' end));
根據繫結變數的值的變化去動態執行相應的語句 在PL/SQL Developer裡,sql視窗中,選中sql語句,右鍵->測試, 填上繫結變數的值,就可以方便的檢視繫結變數的使用情況,可以通過測試發現某個位置是否可以使用繫結變數