Oracle IF-ELSE条件判断结构
关于条件判断的几个函数:
一、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