---------格式一---------case 條件表示式when 條件表示式結果1 then
語句段1
when 條件表示式結果2 then
語句段2
......
when 條件表示式結果n then
語句段n
[else 條件表示式結果]
end;
---------格式二---------case
when 條件表示式1 then
語句段1
when 條件表示式2 then
語句段2
......
when 條件表示式n then
語句段n
[else 語句段]
例4:
1例5:declare
2 v_grade char(1) := upper('&p_grade');
4begin
6case v_grade
7 when 'a' then 'excellent'
8 when 'b' then 'very good'
9 when 'c' then 'good'
10 else 'no such grade'
11end;
13 end;
1declare
2 v_first_name employees.first_name%type;
3 v_job_id employees.job_id%type;
4 v_salary employees.salary%type;
5 v_sal_raise number(3,2);
6begin
7select first_name, job_id, salary into
8v_first_name, v_job_id, v_salary
9 from employees where employee_id = &emp_id;
10case
11 when v_job_id = 'pu_clerk'then
12 if v_salary < 3000 then v_sal_raise := .08;
13 else v_sal_raise := .07;
14end if;
15 when v_job_id = 'sh_clerk'then
16 if v_salary < 4000 then v_sal_raise := .06;
17 else v_sal_raise := .05;
18end if;
19 when v_job_id = 'st_clerk'then
20 if v_salary < 3500 then v_sal_raise := .04;
21 else v_sal_raise := .03;
22end if;
23else
24 dbms_output.put_line('該崗位不漲工資: '||v_job_id);
25end case;
26 dbms_output.put_line(v_first_name||'的崗位是'||v_job_id
27 ||'、的工資是'||v_salary
28 ||'、工資漲幅是'||v_sal_raise);
29 end;
SQL高階查詢 case表示式
case表示式可以在sql中實現if then else型的邏輯,oracle database 9i及以上版本支援case表示式,case工作方式與decode 類似 有兩種型別的case表示式 1.簡單case表示式,使用表示式確定返回值 case search expression when ...
case表示式和decode函式
1.用case表示式做等值判斷 格式 case 表示式 when 值1 then 返回值1 when 值2 then 返回值2 else 預設返回值 end 示例 查詢員工編號,姓名,部門編號,部門名稱 部門名稱 30 sale 20 etc 10 jxb 其他 icss select empno ...
Cron表示式詳解 job表示式
cron表示式的詳細用法 字段 允許值 允許的特殊字元 秒 0 59 分 0 59 小時 0 23 日期 1 31 l w c 月份 1 12 或者 jan dec 星期 1 7 或者 sun sat l c 年 可選 留空,1970 2099 例子 0 5 每5秒執行一次 字元被用來指定所有的值。...