關於條件判斷的幾個函數:
一、IF-ELSE 判斷語句
1.IF 語法
IF 表達式 THEN ... END IF;
輸入賬號名 kiki 以登陸賬號
declare v_name varchar2(20):='&x'; begin if v_name='kiki' then dbms_output.put_line('登錄成功'); end if; end;

結果

2.IF-ELSE 語法
IF 表達式 THEN ... ELSE ... END IF;
輸入用戶名 kiki 以登陸用戶,輸入用戶名錯誤,輸出登陸失敗。
declare v_name varchar2(20):='&name'; begin if v_name = 'kiki' then dbms_output.put_line('登錄成功'); else dbms_output.put_line('登錄失敗'); end if; end;
3.IF...ELSIF...ELSE 語法 (注意 elsif 的拼寫)
IF 表達式 THEN ... ELSIF 表達式 THEN ... ELSE ... END IF;
有兩個賬密kikijia、123; kiki、123 輸入賬密以登陸。
declare v_name varchar2(20) := '&name'; v_password number(10) := '&password'; begin if v_name = 'kikiwen' and v_password =123 then dbms_output.put_line('登錄成功'); elsif v_name = 'kiki' and v_password =123 then dbms_output.put_line('登錄'||v_name||'賬號成功'); else dbms_output.put_line('登錄失敗'||v_name||'賬號或者密碼不正確'); end if; end;
二、decode 函數
decode(字段|表達式,條件1,結果1,條件2,結果2,...,條件n,結果n,缺省值); --缺省值可以省略
表示如果 字段|表達式 等於 條件1 時,DECODE函數的結果返回 條件1 ,...,如果不等於任何一個條件值,則返回缺省值。
三、case...when... 函數
--簡單Case函數 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函數 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END
