详解如何用SQL取出字段内是json的数据

 更新时间:2023年10月07日 11:02:12   作者:hnfangh  
数据库中会遇到字段里面存的JSON结果的数据,那么如果我们想直接取到JSON里的值该怎么办呢?其实SQL自带的函数就可解决本文就详细的给大家介绍了如何用SQL取出字段内是json的数据,需要的朋友可以参考下

未嵌套的Json取值

假如现在有表TableA,其中一个字段叫info,字段内容如下:

{"name":"zhangsan","age":28,"class":1}

使用JSON_EXTRACT()函数取出name的话,写法如下:

select JSON_EXTRACT(info, '$.name') from TableA;

但取值有一个问题,就是取出来如果是字符串,字符串的两边会带有双引号。那么如何去掉双引号?
使用JSON_UNQUOT()写法如下:

select JSON_UNQUOTE(JSON_EXTRACT(info, '$.name')) from TableA;

嵌套的Json取值

有嵌套JSON的话,只需要加“.”即可,比如有一个字段info,内容如下:

{"name":"zhangsan","age":28,"class":1,"other":{"book":"钢铁是怎样练成","music":"我记得"}}

要取出其他信息中歌曲名的话,如下面这样写:

select JSON_UNQUOTE(JSON_EXTRACT(info, '$.other.music')) from TableA;

到此这篇关于详解如何用SQL取出字段内是json的数据的文章就介绍到这了,更多相关SQL取出json的数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文详解如何重置你的MySQL或MariaDB的root密码

    一文详解如何重置你的MySQL或MariaDB的root密码

    本文主要介绍了如何重置MySQL和MariaDB的root密码,当你忘记或者丢失了数据库的root密码时,只要你可以访问服务器并拥有一个sudo-enabled用户账户,你就可以恢复访问权限并重置密码,需要的朋友可以参考下
    2024-10-10
  • Ubuntu Server下MySql数据库备份脚本代码

    Ubuntu Server下MySql数据库备份脚本代码

    为了mysql数据库的安全,我们需要定时备份mysql数据库,这里提供下脚本代码,需要的朋友可以参考下
    2013-06-06
  • mysql sql大文件导入正确姿势

    mysql sql大文件导入正确姿势

    在 MySQL 中导入大文件时,mysql source 导入大文件速度太慢,可能会遇到性能问题或内存限制,以下是一些优化导入大文件的建议,需要的朋友可以参考一下
    2025-02-02
  • MySQL中关于case when的用法

    MySQL中关于case when的用法

    这篇文章主要介绍了MySQL中关于case when的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码

    解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码

    这篇文章给大家分享解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码.通过重新安装程序解决此问题,下面小编把问题记录及解决过程分享给大家,需要的朋友参考下吧
    2021-06-06
  • 了解MySQL查询语句执行过程(5大组件)

    了解MySQL查询语句执行过程(5大组件)

    这篇文章主要介绍了了解MySQL查询语句执行过程(5大组件),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • MySQL中使用group by 是总是出现1055的错误(推荐)

    MySQL中使用group by 是总是出现1055的错误(推荐)

    这篇文章主要介绍了MySQL中使用group by 是总是出现1055的错误,小编通过查阅相关资料才把问题解决,今天小编记录下分享到脚本之家平台,需要的朋友可以参考下
    2020-02-02
  • mysql手动删除BINLOG的方法

    mysql手动删除BINLOG的方法

    用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
    2013-03-03
  • MySQL忘记root密码错误号码1045的解决办法

    MySQL忘记root密码错误号码1045的解决办法

    这篇文章主要介绍了MySQL忘记root密码错误号码1045的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • MySQL多列日期同步更新的五种实现方法

    MySQL多列日期同步更新的五种实现方法

    当遇到会员有效期、服务周期、数据版本等需要批量更新日期字段时,如何精准控制日期部分而保留原始时间?所以本文给大家介绍了MySQL多列日期同步更新的五种实现方法,需要的朋友可以参考下
    2025-05-05

最新评论