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 后跟别名  

posted @ 2017-02-16 10:02  独具匠心  阅读(6151)  评论(1编辑  收藏  举报