以下三个函数都可以用于where子条件,作为数据删除、更新的记录定位依据。

如:

SELECT * FROM usergrade WHERE ISNULL(USERNAME);

一、ISNULL(expr)

如果expr为null,那么isnull()的返回值为1,否则返回值为0。

mysql> select isnull(/) as result;
+--------+
| result |
+--------+
| |
+--------+
row in set (0.00 sec) mysql> select isnull(/) as result;
+--------+
| result |
+--------+
| |
+--------+
row in set (0.00 sec)

使用=的null值对比通常是错误的。

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

二、IFNULL(expr1,expr2)

假如expr1不为NULL,不管expr2的值是否为NULL,IFNULL()的返回值为expr1;否则其返回值为expr2。

IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

mysql> SELECT IFNULL(,);
+-------------+
| IFNULL(,) |
+-------------+
| |
+-------------+
row in set (0.01 sec) mysql> SELECT IFNULL(NULL,);
+-----------------+
| IFNULL(NULL,) |
+-----------------+
| |
+-----------------+
row in set (0.00 sec) mysql> SELECT IFNULL(/,);
+----------------+
| IFNULL(/,) |
+----------------+
| 10.0000 |
+----------------+
row in set (0.00 sec) mysql> SELECT IFNULL(/,'yes');
+-------------------+
| IFNULL(/,'yes') |
+-------------------+
| yes |
+-------------------+
row in set (0.00 sec) mysql> SELECT IFNULL(,'yes');
+-----------------+
| IFNULL(,'yes') |
+-----------------+
| |
+-----------------+
row in set (0.00 sec)

三、NULLIF(expr)

如果expr1=expr2成立,那么返回值为NULL,否则返回值为expr1。

mysql> select nullif(,);
+-------------+
| nullif(,) |
+-------------+
| NULL |
+-------------+
row in set (0.00 sec) mysql> select nullif('a',);
+---------------+
| nullif('a',) |
+---------------+
| a |
+---------------+
row in set, warning (0.00 sec)

MySQL-ISNULL()、IFNULL()和NULLIF()函数的更多相关文章

  1. MySQL中 IFNULL、NULLIF和ISNULL函数的用法

    mysql 中 ifnull().nullif().isnull()函数的用法讲解: 一.IFNULL(expr1,expr2)用法: 假如expr1不为NULL,则 IFNULL() 的返回值为ex ...

  2. MySQL中的isnull、ifnull和nullif函数用法

    isnull(expr) 如expr为null,那么isnull()的返回值为1,否则返回值为0. mysql>select isnull(1+1); ->0 mysql>selec ...

  3. MySQL if,ifnull,nullif 函数

    一.IF IF(exPR1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr ...

  4. mysql的IFNULL()函数FLOOR(),ROUND()函数

    用法说明 1 IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2. IFNULL()返回一个数字或字符串值,取决于它被 ...

  5. MySql 里的IFNULL、NULLIF和ISNULL用法

    MySql 里的IFNULL.NULLIF和ISNULL用法 mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如expr 为null,那么isnu ...

  6. MySql 里的IFNULL、NULLIF和ISNULL用法区别

    mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0. mysql> ...

  7. mysql中isnull,ifnull,nullif的用法

    今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: 1. isnull(expr) 的用法: ...

  8. SQLServer的ISNULL函数和Mysql的IFNULL函数

    SQL Serve的ISNULL函数: ISNULL(check_expression,replacement_value) 1.check_expression与replacement_value的 ...

  9. MySQL中的IFNULL,IF,NULLIF函数

    MySQL中的IFNULL函数和IF函数 MySQL中的IFNULL函数类似于Oracle中的NVL函数,其表达式为:IFNULL(expr1,expr2),含义是:如果第一个参数不为空,则返回第一个 ...

随机推荐

  1. JDK运行.Jar文件的控制台命令是什么

    cd进入jar文件所在目录,执行如下语句: java -jar jar文件名如:java -jar hello.jar

  2. 开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供) 【转】

    国家气象局提供的天气预报接口 接口地址: http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data ...

  3. 机器码call和jmp地址的计算

    call和jmp都是跳转指令,但是call的同时会把pc地址压入堆栈,并且这两种方式都有远和近跳转.下面的分析不全,因为没有在网上找到足够的资料,个人创造这个情景还是有些困难. 1.例子中的call的 ...

  4. 网络安装archlinux(2012.8.20)笔记

    周末闲极无聊,把烂笔记本翻出来想装个Archlinux,发现USB不能启动,光驱也挂了,只好网络安装. 我先后试了两种安装方式,一种纯互联网启动,安装,一种局域网启动,再互联网安装.分别说说. 不管哪 ...

  5. netbeans for php常用快捷键

    文本编辑 复制当前行到上一行/下一行ctl+shf+up 移动当前行到上一行/下一行shf+alt+left/right/down/up 删除当前行ctl+E 生成下一行shf+enter(回车) 大 ...

  6. 304. Range Sum Query 2D - Immutable

    题目: Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper ...

  7. xamarin提供在线检查.net代码是否支援xamarin,ios,android

    大概是多少比你想的更多的移动.我们很高兴地宣布一个新的在线服务Xamarin NET移动扫描仪-扫描您的编译.NET代码的兼容性与Xamarin.iOSXamarin.Android是,Windows ...

  8. 201521123103 《Java学习笔记》 第五次学习总结

    一.本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. (1).接口更灵活.更方便,可以方便的为现有的系统添加新的功能. (2).is-a ...

  9. MySQL密码忘了怎么办?MySQL重置root密码方法

    本文主要介绍Windows和Linux系统下忘记密码重置root密码的方法,需要的朋友可以参考下. MySQL有时候忘记了root密码是一件伤感的事.这里提供Windows 和 Linux 下的密码重 ...

  10. Ext-JS-Classic-Demo 面向pc端示例

    基于Ext Js 6.5.1 面向pc端示例,低于此版本可能存在兼容问题,慎用 已忽略编译目录,请自行编译运行 Sencha Cmd 版本:v6.5.1.240 git地址:https://githu ...