oracle中if/else的三种实现方式


1、标准sql规范

1、单个IF
IF v=...  THEN 
  END IF;

2IF ... ELSE 
IF v=... THEN
  ELSE
    t....;
    END IF;  
    
3、多个IF
IF v=... THEN
  ELSIF  v=...  THEN 
    t...;
    END IFL
    
注意: 多个IF的是'ELSIF' 不是 ' ELSE IF'

2、decode函数

DECODE(VALUE,IF1,THEN1,IF2,THEN2,IF2,THEN2,..,ELSE)     

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

 

3、case when

CASE WHERE v=... THEN 'vvvvv';
     WHERE v=... THEN  'ffff';
  ELSE
     .....;
END AS '别名';

注意点: 

1、以CASE开头,以END结尾

2、分支中WHEN 后跟条件,THEN为显示结果

3、ELSE  为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加

4、END 后跟别名  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM