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

SQL 中的 IFNULL和NULLIF

时间:2018-12-02 22:50:57      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:参数   mys   mysq   ssi   0.00   sele   row   函数返回   混淆   

sql 中的IFNULL和NULLIF很容易混淆,在此记录一下。

IFNULL

IFNULL(expression1, expression2)

如果expression1为null, 在函数返回expression2,否则将返回expression1。

例如

mysql> select IFNULL(0,"a");
+---------------+
| IFNULL(0,"a") |
+---------------+
| 0             |
+---------------+
1 row in set (0.00 sec)

第一个参数是0,不是NULL,所以结果是0.

再例如,

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

mysql>

第一个参数是NULL,所以结果是第二个参数"a"。

NULLIF

IFNULL(expression1, expression2)

如果两个参数等价,则返回NULL ;否则,返回第一个参数。

例如

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

两个参数不相等,所以结果是第一个参数1。

再例如,

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

两个参数相等,所以结果是NULL。

SQL 中的 IFNULL和NULLIF

标签:参数   mys   mysq   ssi   0.00   sele   row   函数返回   混淆   

原文地址:https://www.cnblogs.com/lanyangsh/p/10055389.html

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