Mysql如何获取json字符串/数组的值

 更新时间:2024年08月09日 08:44:09   作者:wuchongyong  
这篇文章主要介绍了Mysql如何获取json字符串/数组的值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Mysql获取json字符串/数组的值

单个json的,获取值使用json_extract

`select json_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel`");

数组的json的,获取数组的长度使用JSON_LENGTH

SELECT id,JSON_LENGTH('[{"id":"10000004555096","name":"1.docx"},{"id":"10000004555098","name":"2.doc"},{"id":"10000004555097","name":"3.html"}]'),F_zwm,F_dhhm FROM `w_b01rzcllc` limit 10;

数组的json的,获取数组的值使用json_extract

SELECT id,json_extract('[{"id":"10000004555096","name":"1.docx"},{"id":"10000004555098","name":"2.doc"},{"id":"10000004555097","name":"3.html"}]',"$[0].name"),F_zwm,F_dhhm FROM `w_b01rzcllc` limit 10;

Mysql获取 json字段中指定的值 ( MySQL 5.7 上下两种方式 )

JSON:

{
    "success": true,
    "code": 0,
    "msg": "操作成功",
    "data": {
        "access_token": "333d8c09-e522-4585-8cca-1d9c66e5cece",
        "token_type": "bearer",
        "refresh_token": "48a3e598-0e3e-4739-9e57-b301c1e3529d",
        "expires_in": 3599,
        "scope": "app"
    }
}

MySQL 5.7 以上可直接使用函数 JSON_EXTRACT 获取

select replace(json_extract(remark, '$.data.budgetNum'), '"', '')
from sys_user;

结果:

MySQL 5.7 以下可利用分割函数进行获取

select REPLACE(
                       remark,
                       CONCAT(
                               SUBSTRING_INDEX(remark, '"access_token":', 1),
                               '"access_token":"'
                           ),
                       ''
                   ) from sys_user;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解MySql中InnoDB存储引擎中的各种锁

    详解MySql中InnoDB存储引擎中的各种锁

    本文主要介绍了详解MySql中InnoDB存储引擎中的各种锁,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • mysql服务器CPU利用率过高排查过程

    mysql服务器CPU利用率过高排查过程

    文章介绍了通过监控平台发现MySQL服务器CPU利用率过高的问题,通过排查和分析,找到一条执行时间过长的SQL语句,并通过EXPLAIN分析和优化该SQL,最终解决了CPU利用率过高的问题
    2025-12-12
  • MySQL InnoDB中所有锁的功能全面详解

    MySQL InnoDB中所有锁的功能全面详解

    这篇文章主要为大家介绍了MySQL InnoDB中的所有锁功能使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • MySQL数据库聚合查询和联合查询详解

    MySQL数据库聚合查询和联合查询详解

    聚合查询就是在一个表里通过聚合函数进行查询操作,通常是求和,求平均值等操作,这篇文章主要介绍了MySQL聚合查询和联合查询的相关资料,需要的朋友可以参考下
    2024-03-03
  • mysql一条sql查出多个条件不同的sum或count问题

    mysql一条sql查出多个条件不同的sum或count问题

    这篇文章主要介绍了mysql一条sql查出多个条件不同的sum或count问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MySQL的driverClassName与url使用方式

    MySQL的driverClassName与url使用方式

    这篇文章主要介绍了MySQL的driverClassName与url使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • mysql如何批量修改表名前缀

    mysql如何批量修改表名前缀

    这篇文章主要介绍了mysql如何批量修改表名前缀的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • MySQL/MariaDB的Root密码重置教程

    MySQL/MariaDB的Root密码重置教程

    这篇文章主要给大家介绍了关于MySQL/MariaDB的Root密码重置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • MySQL 日期格式化的使用示例

    MySQL 日期格式化的使用示例

    在MySQL中,可以使用DATE_FORMAT函数对日期进行格式化,本文就来介绍一下MySQL 日期格式化的使用示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug

    IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug

    这篇文章主要介绍了IDEA使用mybatis-generator以及配上mysql8.0.3版本遇到的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论