不同数据库对null值的处理

oracle:   nvl(expression1,expression2)  ,  case when expression1 then expression2 else expression3 end ,

                nullif(expression1,expression2)

  1. select nvl(branchtype2,0) from lacommision where agentcode='610000087';

  2. case when branchtype2 is null then '0' else branchtype2 end

  3. select nullif(1+1,2)  from dual ;---NULL

      select nullif(1+13)  from dual ;---3

         

    select nullif(expression1,expression2) from dual;    

    当expression1=expression2,返回NULL;

    当expression1!=expression2,返回expression1;


mysql:        ifnull(expression1,expression2)

    select ifnull(NULL,'2') from dual; ---2

      不同数据库对null值的处理_第1张图片   

    

   select ifnull(expression1,expression2) from dual;

    当expression1=NULL,返回expression2;

sql server:     isnull(expression1,expression2)   ,nullif(expression1,expression2)

    select isnull(expression1,expression2) from dual;

    当expression1=NULL,返回expression2;

    当expression1!=NULL,返回expression1;


    nullif (expression1,expression2) 同oracle nullif 不重复举例了。


你可能感兴趣的:(oracle)