天天看点

MYSQL函数ISNULL、IFNULL、NULLIF、IF、CASE WHEN

ISNULL函数:

  ISNULL(expr),如expr为NULL,那么ISNULL() 的返回值为 1,否则返回值为 0。

IFNULL函数:

  IFNULL(expr1,expr2),如expr1为NULL,则返回expr2,否则返回expr1。

NULLIF函数:

  NULLIF(expr1,expr2),如果expr1 = expr2 为True,那么返回值为NULL,否则返回值为expr1。

  这个函数和CASE WHEN用法类似:

  这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。

IF函数:

  IF(expr1,expr2,expr3) , 如expr1条件为True(expr1!=0且expr1!=NULL),则返回expr2,否则返回expr3。

   例如:某表fp中以period为判断条件,如fp.period值为-1,则返回整型fp.times,否则返回null

   if(fp.period=-1,CONVERT(fp.times,SIGNED),null)

CASE WHEN函数:

CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2 ...] [ELSE resultN] END

如condition1为TRUE,则返回result1 ,否则若condition2为true则返回result2...,若均不满足则返回resultN。    CASE具有两种格式。简单Case函数和Case搜索函数。 

   1.简单Case函数 

    CASE sex 

        WHEN '1' THEN '男' 

        WHEN '2' THEN '女' 

    ELSE '其他' END 

   2.Case搜索函数 

    CASE

       WHEN sex = '1' THEN '男' 

       WHEN sex = '2' THEN '女' 

    ELSE '其他' END 

参考链接:https://www.cnblogs.com/clphp/p/6256207.html

参考链接:http://blog.csdn.net/nimeijian/article/details/50470189