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

来源:互联网 发布:软件行情 编辑:程序博客网 时间:2024/06/05 07:08

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

原创粉丝点击