mysql 转换NULL数据方法

2023-05-16

使用mysql查询数据库,当执行left join时,有些关联的字段内容是NULL,因此获取记录集后,需要对NULL的数据进行转换操作。

本文将提供一种方法,可以在查询时直接执行转换处理。使获取到的记录集不需要再进行转换。


mysql提供了IFNULL函数

IFNULL(expr1, expr2)

如果expr1不是NULL,IFNULL()返回expr1,否则返回expr2


实例:
user表结构和数据

+----+-----------+
| id | name      |
+----+-----------+
|  1 | Abby      |
|  2 | Daisy     |
|  3 | Christine |
+----+-----------+

 
user_lastlogin表结构和数据

+-----+---------------+
| uid | lastlogintime |
+-----+---------------+
|   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 |
+----+-----------+---------------+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 转换NULL数据方法 的相关文章

随机推荐

  • mysql 搜寻附近N公里内数据的实例

    根据圆周率和地球半径系数以及搜寻点的经纬度 xff0c 搜寻数据表中与搜寻点之间的距离为N公里内的数据 1 创建测试表 span class hljs operator span class hljs keyword CREATE span
  • crontab 精确到执行分钟内某一秒执行的方法

    linux crontab命令可以实现定时执行任务 xff0c 最小的执行周期是1分钟 关于crontab的使用可以查看 Linux crontab定时执行任务 命令格式与详细例子 执行指定命令默认是当前执行分钟的第0 1秒开始 例如 xf
  • mongodb 随机获取一条记录的方法

    原理 xff1a 1 先查询表中的记录总数 2 随机获取偏移量为0 总记录数 1 3 查询时skip偏移量 xff0c 再获取1条记录 因本人测试环境php已升级到7 0以上 xff0c mongodb扩展使用支持php7 0以上的扩展 x
  • mysql 连接闪断自动重连的方法

    使用php作为后台运行程序 xff08 例如短信群发 xff09 xff0c 在cli模式下执行php xff0c php需要连接mysql循环执行数据库处理 当mysql连接闪断时 xff0c 之后循环的执行将会失败 我们需要设计一个方法
  • mongodb 判断坐标是否在指定多边形区域内的方法

    MongoDB是一个基于分布式文件存储的数据库 xff0c 并提供创建基于地理空间的索引的能力 xff0c 本文将使用MongoDB 基于地理空间索引进行坐标所在区域的判断及使用 1 使用百度拾取坐标工具 xff0c 在地图上定义多边形的坐
  • php 实现HTML实体编号与非ASCII字符串相互转换类

    HTML实体符号被用作实现保留字符 xff08 reserved characters xff09 或者表达键盘无法输入的一些常用字符 在大多数浏览器中默认的字符集为ISO 8859 1 HTML实体符号我们在网页设计中经常用到 例如 xf
  • 阿里云RAM账户日常问题总结

    什么是RAM RAM Resource Access Management 是阿里云为客户提供的用户身份管理与访问控制服务 使用RAM xff0c 您可以创建 管理用户账号 xff08 比如员工 系统或应用程序 xff09 xff0c 并可
  • mysql 出现You can't specify target table for update in FROM clause错误的解决方法

    mysql出现You can t specify target table for update in FROM clause 这个错误的意思是不能在同一个sql语句中 xff0c 先select同一个表的某些值 xff0c 然后再upda
  • php结合mongodb判断坐标是否在指定多边形区域内的实例

    之前写过一篇 mongodb 判断坐标是否在指定多边形区域内的方法 是基于mongodb实现 xff0c 所有操作都是在mongodb执行 这次提供使用php连接mongodb xff0c 判断坐标是否在指定多边形区域内的实例 1 定义多边
  • php ID前缀格式化类

    数据库表通常都会有一个字段类型为int 命名为id的自增主键 优点 xff1a 使用int类型可自增 xff0c 且比字符类型节省存储空间 缺点 xff1a id是数值型 xff0c 当要查询一个id对应的数据时 xff0c 很难根据id判
  • php 将print_r处理后的数据还原为原始数组的方法

    php print r方法可以把变量打印显示 xff0c 使变量易于理解 如果变量是string integer或float xff0c 将打印变量值本身 xff0c 如果变量是array xff0c 将会按照一定格式显示键和元素 obje
  • php PDO判断连接是否可用的方法

    mysql ping 检查到服务器的连接是否正常 如果到服务器的连接可用 xff0c 则返回true xff0c 否则返回false 但PDO不支持mysql ping 方法 xff0c 因此需要自己编写代码模拟mysql ping 方法
  • HTML5获取当前地理位置并在百度地图上展示的实例

    1 HTML5获取当前地理位置 HTML5 Geolocation API xff08 地理位置应用程序接口 xff09 可以获取当前地理位置 xff0c 手机端使用GPS xff0c 电脑则根据网络定位 检查浏览器是否支持HTML5 Ge
  • php 根据自增id创建唯一编号类

    在开发过程中 xff0c 我们数据表一般都使用自增数字作为id主键 xff0c 而id是数字型 xff0c 不容易理解 我们把id按一定格式转为编号后 xff0c 很容易根据编号知道代表的是什么内容 例如订单表id 61 201601111
  • mysql 判断点是否在指定多边形区域内

    本文将介绍使用mysql判断点是否在指定多边形区域内的方法 xff0c 提供完整流程 1 创建测试表 span class hljs operator span class hljs keyword CREATE span span cla
  • php文件包含目录配置open_basedir的使用与性能分析

    1 open basedir介绍 open basedir 将php所能打开的文件限制在指定的目录树中 xff0c 包括文件本身 当程序要使用例如fopen 或file get contents 打开一个文件时 xff0c 这个文件的位置将
  • ajax跨域访问cookie丢失的解决方法

    ajax跨域访问 xff0c 可以使用jsonp方法或设置Access Control Allow Origin实现 xff0c 关于设置Access Control Allow Origin实现跨域访问可以参考之前我写的文章 ajax 设
  • C++-MFC(9)-资源管理器-CShellManager+CMFCShellTreeCtrl

    ShellManager主要就是用来获取系统中某个文件夹的路径而使用 xff0c 在Win32中的使用是比较麻烦的 xff0c 在mfc中 xff0c 它的使用就很简单了 xff0c 主要通过类CShellManager来管理的 要实现它一
  • mysql explain中key_len的计算方法

    mysql的explain命令可以分析sql的性能 xff0c 其中有一项是key len xff08 索引的长度 xff09 的统计 本文将分析mysql explain中key len的计算方法 1 创建测试表及数据 span clas
  • mysql 转换NULL数据方法

    使用mysql查询数据库 xff0c 当执行left join时 xff0c 有些关联的字段内容是NULL xff0c 因此获取记录集后 xff0c 需要对NULL的数据进行转换操作 本文将提供一种方法 xff0c 可以在查询时直接执行转换