码迷,mamicode.com
首页 > 数据库 > 详细

MySQL-ISNULL()、IFNULL()和NULLIF()函数

时间:2018-02-05 21:36:19      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:0.00   sql   style   操作   mysq   条件   null   font   记录   

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

如:

SELECT * FROM usergrade WHERE ISNULL(USERNAME);

 

 

一、ISNULL(expr)

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

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

mysql> select isnull(0/1) as result;
+--------+
| result |
+--------+
|      0 |
+--------+
1 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(1,0);
+-------------+
| IFNULL(1,0) |
+-------------+
|           1 |
+-------------+
1 row in set (0.01 sec)

mysql> SELECT IFNULL(NULL,10); 
+-----------------+
| IFNULL(NULL,10) |
+-----------------+
|              10 |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT IFNULL(1/0,10);  
+----------------+
| IFNULL(1/0,10) |
+----------------+
|        10.0000 |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT IFNULL(1/0,yes); 
+-------------------+
| IFNULL(1/0,yes) |
+-------------------+
| yes               |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT IFNULL(1,yes); 
+-----------------+
| IFNULL(1,yes) |
+-----------------+
| 1               |
+-----------------+
1 row in set (0.00 sec)

 

三、NULLIF(expr)

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

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

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

 

MySQL-ISNULL()、IFNULL()和NULLIF()函数

标签:0.00   sql   style   操作   mysq   条件   null   font   记录   

原文地址:https://www.cnblogs.com/yy20141204bb/p/8419047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!