mysql 如何使用JSON_EXTRACT() 取json值

 更新时间:2022年07月05日 10:26:35   作者:cofecode  
这篇文章主要介绍了mysql如何使用JSON_EXTRACT() 取json值的操作方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mysql取json字符串字段下的某个键的值

要求:mysql版本5.7及以上

SELECT JSON_EXTRACT('{"uid":"asas02234"}', "$.uid");

由于json的键值是带双引号。所以需要去掉双引号。

1.使用replace()做替换

select 
    replace(JSON_EXTRACT(infoJson,'$.uid'),'"','') uid
from users

laravel 里使用JSON_EXTRACT

$applyList = DB::table('invoice')
            ->select('applied_at','total_amount','invoice_form','invoice_file','reject_reason')
            ->selectRAW('replace(JSON_EXTRACT(invoice_detail,"$.owner_name"),\'"\',\'\') as owner_name')
            ->where('uid',Auth::id())->get();

2.使用 JSON_UNQUOTE()

SELECT JSON_UNQUOTE(JSON_EXTRACT('{"id":"3"}', "$.id"));
$applyList = DB::table('invoice')
            ->select('applied_at','total_amount','invoice_form','invoice_file','reject_reason')
            ->selectRAW('JSON_UNQUOTE(JSON_EXTRACT(invoice_detail,"$.owner_name")) as owner_name')
            ->where('uid',Auth::id())->get();

mysql处理json字符串,JSON_EXTRACT()提取内容

MySQL自5.7之后开始支持json类型

相应的解析函数主要是JSON_EXTRACT():

SELECT JSON_EXTRACT('{"ID":"1"}','$.ID');

执行结果:

JSON_EXTRACT('{"ID":"1"}','$.ID')
"1"

去除引号使用函数JSON_UNQUOTE():

SELECT JSON_UNQUOTE(JSON_EXTRACT('{"ID":"1"}','$.ID'));

执行结果:

JSON_UNQUOTE(JSON_EXTRACT('{"ID":"1"}','$.ID'))
1

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

相关文章

  • MySQL启用SSD存储的实例详解

    MySQL启用SSD存储的实例详解

    这篇文章主要介绍了MySQL启用SSD存储的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • Mysql 模糊查询和正则表达式实例详解

    Mysql 模糊查询和正则表达式实例详解

    在MySQL中,可以使用LIKE运算符进行模糊查询,LIKE运算符用于匹配字符串模式,其中可以使用通配符来表示任意字符或字符序列,这篇文章主要介绍了Mysql 模糊查询和正则表达式实例详解,需要的朋友可以参考下
    2023-11-11
  • MySQL的事务特性概念梳理总结

    MySQL的事务特性概念梳理总结

    这篇文章主要介绍了MySQL的事务特性概念梳理总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • MySQL 搭建MHA架构部署的步骤

    MySQL 搭建MHA架构部署的步骤

    这篇文章主要介绍了MySQL 搭建MHA架构部署的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Mysql数据库常用命令操作大全

    Mysql数据库常用命令操作大全

    这篇文章主要介绍了Mysql常用命令操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • MySQL实现简单的创建库和创建表操作方法

    MySQL实现简单的创建库和创建表操作方法

    MySQL是最常用的数据库,在数据库操作中基本都是增删改查操作,简称CRUD,这篇文章主要给大家介绍了关于MySQL实现简单的创建库和创建表操作方法的相关资料,需要的朋友可以参考下
    2023-11-11
  • Winserver2012下mysql 5.7解压版(zip)配置安装教程详解

    Winserver2012下mysql 5.7解压版(zip)配置安装教程详解

    这篇文章主要介绍了Winserver2012下mysql 5.7解压版(zip)配置安装教程详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • 详解MySQL 用户权限管理

    详解MySQL 用户权限管理

    这篇文章主要介绍了MySQL 用户权限管理的相关资料,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-04-04
  • Mysql索引会失效的几种情况分析

    Mysql索引会失效的几种情况分析

    在做项目的过程中,难免会遇到明明给mysql建立了索引,可是查询还是很缓慢的情况出现,下面我们来具体分析下这种情况出现的原因及解决方法
    2014-06-06
  • 解决seata不能使用mysql8版本的问题方法

    解决seata不能使用mysql8版本的问题方法

    这篇文章主要介绍了解决seata不能使用mysql8版本的问题方法,文中通过示例和图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论