数据库教程:oracle中if/else功能的实现的3种写法介绍

1、标准sql规范 一、单个IF 1、 if a=… then ……… end if; 2、 if a=… then ….


1、标准sql规范

  一、单个IF  1、    if a=...  then  .........  end if;    2、    if a=... then  ......  else  ....  end if;    二、多个IF    if a=..  then  ......  elsif a=..  then  ....  end if;       这里中间是“ELSIF”,而不是ELSE IF 。这里需要特别注意  

2、decode函数

DECODE的语法:

  DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

表示如果value等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。

3、case when

  case when a='1'then 'xxxx'       when a='2' then 'ssss'  else    'zzzzz'  end as

注意点:

1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
4、END 后跟别名


这是一个使用IF-THEN-ELSE语句的函数的例子:

需要了解更多数据库技术:oracle中if/else功能的实现的3种写法介绍,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

  CREATE OR replace FUNCTION Incomelevel (name_in IN VARCHAR2)   RETURN VARCHAR2   IS     monthly_value NUMBER(6);     ilevel        VARCHAR2(20);     CURSOR c1 IS       SELECT monthly_income       FROM   employees       WHERE  name = name_in;   BEGIN       OPEN c1;         FETCH c1 INTO monthly_value;         CLOSE c1;         IF monthly_value <= 4000 THEN         ilevel := 'Low Income';       ELSIF monthly_value > 4000             AND monthly_value <= 7000 THEN --逻辑与         ilevel := 'Avg Income';       ELSIF monthly_value > 7000             AND monthly_value <= 15000 THEN         ilevel := 'Moderate Income';       ELSE         ilevel := 'High Income';       END IF;         RETURN ilevel;   END; 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/801181.html

(0)
上一篇 2021年9月13日
下一篇 2021年9月13日

精彩推荐