您的位置:首页 > 数据库

sql中的if else语句和if test 语句的区别

2017-11-07 11:26 232 查看
if else的几种表达方式

一、单个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。

注意:

只有oracle可以使用

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

mysql和oracle都可以使用

区别

if else是对筛选后的值做判断并处理,用在select后面,而if-test 是对传入的参数做判断,用在where 语句后面。

参考文献:

if else的几种表达式参考至http://www.cnblogs.com/yangzhilong/archive/2013/04/03/2998282.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql