decode,if,iif 函数运用

decode,if,iif 函数功能类似,分别属于不同数据库

Oracle  -  decode

   例:

select decode(id,0,'ANY',id) as ID from DUAL;

    上记表示:如果id=0, 那么返回 'ANY' ,如果id不等于0,直接返回id的值。

MySql  -  if

   例:

select if((1=2 and 2=2) or ISNULL(age) ,10,20)as abc from DUAL;

    上记表示:功能类似decode,可以直接写入表达式,如果age为null, 返回10,否则返回20

SqlServer  -  iif

   例:

select if((1=2 and 2=3) or 1=2 ,10,20)as abc from DUAL;

    上记表示:同 if

猜你喜欢

转载自xvshell.iteye.com/blog/2025460