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 的说明。

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。假设一个基于表达式的表的情况,或MySQL必须在内存储器中储存一个临时表中IFNULL()的返回值:

CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;

在这个例子中,测试列的类型为 CHAR(4)。

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 。

来源: https://jingyan.baidu.com/article/6b182309516bc5ba58e159f0.html

一、IF函数 
表达式:IF(expr1,expr2,expr3) 
满足条件expr1即条件expr1返回true 
则expr2否则就是expr3 返回false 
作为排序条件使用时 放在order by 后 
eg: 
1. SELECT IF(1=1,2,3); 则输出2 
2.SELECT IF(1=2,2,3);则输出3 
select * from test_table order by if(ISNULL(idcard),1,0) 
二、IFNULL函数 
表达式:IFNULL(expr1,expr2) 
如果expr1值为NULL,则输出expr2 
如果expr1值不为空则输出expr1本身

eg: 
1.SELECT IFNULL(null,”2”);则输出2 
2.SELECT IFNULL(3,”2”);则输出3

三、is not null函数 
select * from test where name is not null; 
四、isnull(expr) 的用法: 
如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。

来源: http://blog.csdn.net/cc_yy_zh/article/details/52700478

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/jeffen/p/7016575.html

MySQL中的isnull、ifnull和nullif函数用法相关推荐

  1. MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用

    在MySQL中可以使用IF().IFNULL().NULLIF().ISNULL()函数进行流程的控制. 1.IF()函数的使用 IF(expr1,expr2,expr3),如果expr1的值为tru ...

  2. revoke mysql_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...

  3. mysql revoke 授权_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...

  4. python中all函数的用法_python中map、any、all函数用法分析

    这篇文章主要介绍了 python 中 map . any . all 函数用法 , 实例分析了 map . any . all 函数 的相关使用技巧 , 具有一定参考借鉴价值 , 需要的朋友可以参考下 ...

  5. php debug_print_backtrace,php中debug_backtrace、debug_print_backtrace和匿名函数用法实例

    本文实例讲述了php中debug_backtrace.debug_print_backtrace和匿名函数用法.分享给大家供大家参考.具体分析如下: debug_print_backtrace() 是 ...

  6. oracle中trim,ltrim,rtrim函数用法(简单易懂)

    oracle中trim,ltrim,rtrim函数用法 用法一.去空格 函数 作用 TRIM TRIM()去除指定字符串的前后空格 LTRIM LTRIM()去除指定字符串的前面空格 RTRIM RT ...

  7. 【MySQL】MySQL的IFNULL()、ISNULL()、NULLIF()函数用法说明

    文章目录 一.IFNULL() 函数 二.ISNULL() 函数 三.NULLIF() 函数 四.总结 五.相关推荐 一.IFNULL() 函数 MySQL IFNULL 函数是 MySQL 控制流函 ...

  8. mysql中ISNULL(),IFNULL()和NULLIF()的区别

    一.ISNULL()函数只有一个参数,判断参数是否为null ① 当参数不为null时,比如'0'或任意字符串等,函数结果为0: ② 当参数为null时.结果为1 二.IFNULL()函数需要传入两个 ...

  9. Mysql 中 “必知” 的单行处理函数

    Mysql 中必知的单行函数 每博一文案 钱钟书就曾感慨道,在我一知半解的几国语言中,没有比中国古语 所谓的素交,更能表现出友谊骨髓,素是一切颜色的基础,同时也是 一切颜色的调和,像白日包含了基色,真 ...

  10. 关于IFNULL()和NULLIF()函数的区别

    在MySQL中,IFNULL()和NULLIF()都是用于处理NULL值的函数,但它们的功能略有不同. IFNULL():此函数接受两个参数,如果第一个参数不为NULL,则返回该参数:否则返回第二个参 ...

最新文章

  1. 构建一个移动应用程序要花多少钱?
  2. 独家 | 一文读懂Corda分布式记账技术
  3. db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...
  4. 【51nod - 1076】2条不相交的路径(Tarjan无向图判环)
  5. Spring Boot的启动器Starter详解
  6. xml转化为kml_借助ogr2ogr工具实现shp文件转换kml格式
  7. CentOS5.8分区与文件系统
  8. 使用微信公众号实现扫码开门
  9. 收藏夹吃灰了:GitHub 上值得收藏的100个精选前端项目!
  10. 微信 css3动画失效,css3 动画效果在微信中无效
  11. QLV转MP4格式转换器在线免费的方法有哪些
  12. 不规则数据排序 Python sort sorted
  13. 压缩为王-阿里第五届中间件复赛总结
  14. 【第1111期】Subresource Integrity 介绍
  15. 人力资源和社会保障部——拟新增职业“密码技术应用员”
  16. i9 13900hx和r7 7735h选哪个 酷睿i913900hx和锐龙r77735h对比
  17. 【C++】memset函数
  18. 2022年湖南成人高考答题卡简介及结构介绍
  19. ASP.NET下FCKeditor配置方法全解
  20. 这几个质量超高的自学网站,每天逛10分钟,年薪百万不是问题!

热门文章

  1. python 中的运算符重载
  2. php ajax 域名查询,PHP+AJAX 域名查询 PHP 源代码
  3. python vue token_Flask与Vue的token认证
  4. C语言——指针篇(三)数组的下标引用和指针访问
  5. 简述中断和 DMA 的区别。
  6. linux里netstat与ps,理解proc目录与linux进程、ps命令、netstat命令的关系
  7. clickhouse Aggregatingmergetree表引擎
  8. QT_QTableWidget增删改读
  9. 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Ng
  10. Linux下使用rsync最快速删除海量文件的方法分享