MySql关于null的函数使用分享
16lz
2021-12-11
MySql中关于null的函数
IFNULL
ISNULL
NULLIF
IFNULL
用法:IFNULL(expr1,expr2)
说明:若expr1不是null则返回expr1,否则返回expr2
例子:
sql | 结果 |
---|---|
SELECT IFNULL(null,'第一个参数是null') | ‘第一个参数是null' |
SELECT IFNULL(‘第一个参数不是null','我是第二个参数') | ‘第一个参数不是null' |
ISNULL
用法:ISNULL(expr)
说明:若expr是null则返回1,否则返回0
例子:
sql | 结果 |
---|---|
SELECT ISNULL(null) | 1 |
SELECT ISNULL(‘不是null的参数') | 0 |
NULLIF
用法:NULLIF(expr1,expr2)
说明:若expr1等于expr2,则返回null。否则返回exp1。类似CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END。
例子:
sql | 结果 |
---|---|
SELECT NULLIF(1,1) | null |
SELECT NULLIF(1,2) | 1 |
MySql函数IFNULL使用的注意事项
首先建一张简单的表,用于sql语句的操作
建表语句如下:
CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键' ,`name` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '名字' ,`score` int(4) NOT NULL DEFAULT 0 COMMENT '分数' ,PRIMARY KEY (`id`));
现在开始正题:
a. IFNULL的作用是什么?下面一个简单的sql和结果说明,如果IFNULL(a,b),a接收的值为null,则返回b,否则返回a;
SELECT IFNULL(NULL,0);
SELECT IFNULL(score,0) FROM student WHERE ID = 4;
c. 以下语句返回正确结果0;
SELECT IFNULL((SELECT score FROM student WHERE ID = 4),0);
更多相关文章
- MySQL系列多表连接查询92及99语法示例详解教程
- Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
- MySQL 什么时候使用INNER JOIN 或 LEFT JOIN
- ES6 变量声明,箭头函数,数组方法,解构赋值,JSON,类与继承,模块化练习
- 箭头函数的基础使用
- Python技巧匿名函数、回调函数和高阶函数
- 浅析android通过jni控制service服务程序的简易流程
- Android(安卓)bluetooth介绍(四): a2dp connect流程分析
- Android架构分析之使用自定义硬件抽象层(HAL)模块