加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

利用mysql转换NULL数据流程剖析

发布时间:2023-09-08 14:44:08 所属栏目:MySql教程 来源:
导读:本文主要给大家介绍利用mysql转换NULL数据流程解析,文章内容都是笔者用心摘选和编辑的,利用mysql转换NULL数据流程解析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。

使用
本文主要给大家介绍利用mysql转换NULL数据流程解析,文章内容都是笔者用心摘选和编辑的,利用mysql转换NULL数据流程解析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。
 
使用mysql查询数据库,当执行left join时,有些关联的字段内容是NULL,因此获取记录集后,需要对NULL的数据进行转换操作。
 
mysql提供了IFNULL函数
 
IFNULL(expr1, expr2)
 
如果expr1不是NULL,IFNULL()返回expr1,否则返回expr2
 
实例:
 
user表结构和数据
 
+-----+---------------+| uid | lastlogintime |
 
+----+-----------+| id | name      |
 
+----+-----------+|  1 | Abby      |
 
|  2 | Daisy     ||  3 | Christine |
 
+----+-----------+
 
user_lastlogin表结构和数据
 
+-----+---------------+|   1 |    1488188120 ||   3 |    1488188131 |
 
+-----+---------------+
 
查询user的name与lastlogintime
 
mysql> select a.id,a.name,b.lastlogintime from user as a left join user_lastlogin as b on a.id=b.uid;
 
+----+-----------+---------------+| id | name      | lastlogintime |
 
+----+-----------+---------------+|  1 | Abby      |    1488188120 |
 
|  2 | Daisy     |          NULL ||  3 | Christine |    1488188131 |
 
+----+-----------+---------------+
 
因为id=2的用户未登入过,所以在user_lastlogin表中没有记录。因此lastlogintime为NULL。

使用IFNULL把NULL转为0利用mysql转换NULL数据流程解析
 
IFNULL(lastlogintime, 0)
 
mysql> select a.id,a.name,IFNULL(b.lastlogintime,0) as lastlogintime from user as a left join user_lastlogin as b on a.id=b.uid;
 
+----+-----------+---------------+| id | name      | lastlogintime |
 
+----+-----------+---------------+|  1 | Abby      |    1488188120 |
 
|  2 | Daisy     |             0 ||  3 | Christine |    1488188131 |
 
+----+-----------+---------------+
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章