怎么使用MySQL的IFNULL()、ISNULL()和NULLIF()函数

82次阅读
没有评论

共计 1101 个字符,预计需要花费 3 分钟才能阅读完成。

本篇内容主要讲解“怎么使用 MySQL 的 IFNULL()、ISNULL()和 NULLIF()函数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“怎么使用 MySQL 的 IFNULL()、ISNULL()和 NULLIF()函数”吧!

一、IFNULL 用法
  1.1 IFNULL(expr1,expr2) 用法
  假如 expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL() 的返回值是数字或是字符串,具体情况取决于其所使用的语境。
   
  mysql   SELECT  IFNULL(1,0);   
  –   1   
  mysql   SELECT  IFNULL(NULL,10);   
  –   10   
  mysql   SELECT  IFNULL(1/0,10);   
  –   10   
  mysql   SELECT  IFNULL(1/0, yes    
  –   yes
  IFNULL(expr1,expr2)的默认结果值为两个表达式中更加“通用”的一个,顺序为 STRING、REAL 或 INTEGER。
   
  1.2 isnull(expr) 的用法:
  如 expr 为 null,那么 isnull() 的返回值为 1,否则返回值为 0。
  mysql select isnull(1+1);
  – 0
  mysql select isnull(1/0);
  – 1
  使用 = 的 null 值对比通常是错误的。

  isnull() 函数同 is null 比较操作符具有一些相同的特性。请参见有关 is null 的说明。   

二、ISNULL(expr) 的用法
  如 expr 为 null,那么 isnull() 的返回值为 1,否则返回值为 0。
   
  mysql select isnull(1+1);
  – 0
  mysql select isnull(1/0);
  – 1
  使用 = 的 null 值对比通常是错误的。
   
三、NULLIF(expr1,expr2)用法
  如果 expr1 = expr2 成立,那么返回值为 NULL,否则返回值为 expr1。这和 CASE  WHEN expr1 = expr2 THEN NULL ELSE  expr1 END 相同。   
   
  mysql   SELECT NULLIF(1,1);   
  –   NULL   
  mysql   SELECT NULLIF(1,2);   
  –   1  
  如果参数不相等,则 MySQL 两次求得的值为 expr1。 

到此,相信大家对“怎么使用 MySQL 的 IFNULL()、ISNULL()和 NULLIF()函数”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计1101字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)