oracle if 语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle if 语句相关的知识,希望对你有一定的参考价值。
能不能进行多个条件判定
if 条件1,条件2,。。。 then
如果能 具体是怎么写的
我说的是一次进行多次判定
就是必须满足两个以上条件
这个要怎么办?
ELSIF 条件3 and 条件4 THEN
ELSIF .. THEN
ELSE
END IF;
或者:
IF 条件1 or条件2 THEN
ELSIF 条件3 or条件4 THEN
ELSIF .. THEN
ELSE
END IF; 参考技术A 用case语法
select
(case
when 1=2 then 'A'
when 2=2 then 'B'
end) from dual 参考技术B SELECT AVG(CASE WHEN e.salary > 2000 THEN e.salary
ELSE 2000 END) "Average Salary" FROM employees e;
SELECT cust_last_name,
CASE credit_limit WHEN 100 THEN 'Low'
WHEN 5000 THEN 'High'
ELSE 'Medium' END
FROM customers;
Oracle:控制语句 IF..ELSIF语句CASE语句FOR循环语句
--多重if语句(注意点:BEGIN END ,IF 条件 THEN,ELSIF 条件 THEN,ELSE... END IF)
BEGIN
IF FALSE THEN
DBMS_OUTPUT.put_line(‘执行if语句...‘);
ELSIF TRUE THEN
DBMS_OUTPUT.put_line(‘执行ELEIF1语句...‘);
ELSIF TRUE THEN
DBMS_OUTPUT.put_line(‘执行ELEIF2语句...‘);
ELSIF FALSE THEN
DBMS_OUTPUT.put_line(‘执行ELEIF3语句...‘);
END IF;
END;
--百分制成绩转化为五分制成绩,并打印输出
DECLARE
v_score NUMBER(3) :=‘&score‘;
BEGIN
IF v_score>90 THEN
DBMS_OUTPUT.put_line(‘A‘);
ELSIF v_score>80 THEN
DBMS_OUTPUT.put_line(‘B‘);
ELSIF v_score>70 THEN
DBMS_OUTPUT.put_line(‘C‘);
ELSIF v_score>60 THEN
DBMS_OUTPUT.put_line(‘D‘);
ELSE
DBMS_OUTPUT.put_line(‘E‘);
END IF;
END;
--case案例演示(注意点:BEGIN END,CASE 主语,WHEN 条件 THEN,ELSE...,END CASE)
DECLARE
v_light VARCHAR2(10) :=‘&light‘;
BEGIN
CASE v_light
WHEN ‘红灯‘ THEN
DBMS_OUTPUT.put_line(‘停‘);
WHEN ‘绿灯‘ THEN
DBMS_OUTPUT.put_line(‘行‘);
WHEN ‘黄灯‘ THEN
DBMS_OUTPUT.put_line(‘等‘);
ELSE
DBMS_OUTPUT.put_line(‘您输入的信息有误。。‘);
END CASE;
END;
--FOR循环(注意点:BEGIN END,LOOP..EXIT WHEN TRUE..END LOOP)
BEGIN
LOOP
DBMS_OUTPUT.put_line(‘信息...‘);
EXIT WHEN TRUE;
END LOOP;
END;
--让上面的循环执行5次
DECLARE
v_i NUMBER(10) :=0;
BEGIN
LOOP
DBMS_OUTPUT.put_line(‘信息...‘);
v_i := v_i + 1;
EXIT WHEN v_i=5;
END LOOP;
END;
以上是关于oracle if 语句的主要内容,如果未能解决你的问题,请参考以下文章