oracle中if/else的三种实现方式
1、标准sql规范
1、单个IF IF v=... THEN END IF; 2、IF ... 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 后跟别名