oracle if 语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle if 语句相关的知识,希望对你有一定的参考价值。

能不能进行多个条件判定
if 条件1,条件2,。。。 then
如果能 具体是怎么写的
我说的是一次进行多次判定
就是必须满足两个以上条件
这个要怎么办?

IF 条件1 and 条件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 语句的主要内容,如果未能解决你的问题,请参考以下文章

oracleif判断语句

oracle if 语句

oracle 存储过程中 如果用if语句判断一条查询语句的结果集是不是为空

oracle存储过程中写IF ELES

Oracle:在Oracle中选择带有If else的语句

在oracle sql语句里有没有if...else...的用法,请各位大侠给个例子看看,灰常感谢!!