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+PostgreSQL批量插入更新insertOrUpdate

    实操MySQL+PostgreSQL批量插入更新insertOrUpdate

    这篇文章主要介绍了MYsql和PostgreSQL优势对比以及如何实现MySQL + PostgreSQL批量插入更新insertOrUpdate,附含详细的InserOrupdate代码实例,需要的朋友可以参考下
    2021-08-08
  • MySQL中字符串函数详细介绍

    MySQL中字符串函数详细介绍

    通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
    2011-05-05
  • Mysql主键和唯一键的区别点总结

    Mysql主键和唯一键的区别点总结

    在本篇文章中小编给大家分享了关于Mysql主键和唯一键的区别,有兴趣的朋友们学习下吧。
    2019-02-02
  • mysql oracle和sqlserver分页查询实例解析

    mysql oracle和sqlserver分页查询实例解析

    最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴到脚本之家平台供大家参考
    2017-10-10
  • MySQL之批量插入的4种方案总结

    MySQL之批量插入的4种方案总结

    这篇文章主要介绍了MySQL之批量插入的4种方案总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MySQL存储引擎 InnoDB与MyISAM的区别

    MySQL存储引擎 InnoDB与MyISAM的区别

    InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。
    2014-03-03
  • Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理

    Mysql 5.7.18 利用MySQL proxies_priv实现类似用户组管理

    这篇文章主要为大家详细介绍了Mysql 5.7.18利用MySQL proxies_priv实现类似用户组管理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 一文搞懂MySQL元数据锁(MDL)

    一文搞懂MySQL元数据锁(MDL)

    这篇文章主要为大家详细介绍了MySQL中元数据锁(MDL)的相关资料,文中的示例代码讲解详细,对我们学习有一定的借鉴价值,需要的可以参考一下
    2022-09-09
  • 对MySQL几种联合查询的通俗解释

    对MySQL几种联合查询的通俗解释

    这篇文章主要介绍了LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。下面给个通俗的解释吧
    2015-01-01
  • 解析MySQL索引的作用

    解析MySQL索引的作用

    这篇文章主要为大家详细介绍了MySQL索引的作用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03

最新评论