千家信息网

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

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,本文主要给大家介绍利用mysql转换NULL数据流程解析,文章内容都是笔者用心摘选和编辑的,利用mysql转换NULL数据流程解析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主
千家信息网最后更新 2024年11月27日利用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

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 |+----+-----------+---------------+

看完以上关于利用mysql转换NULL数据流程解析,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

0