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類型
相應的解析函數(shù)主要是JSON_EXTRACT():
SELECT JSON_EXTRACT('{"ID":"1"}','$.ID');執(zhí)行結果:
JSON_EXTRACT('{"ID":"1"}','$.ID')
"1"
去除引號使用函數(shù)JSON_UNQUOTE():
SELECT JSON_UNQUOTE(JSON_EXTRACT('{"ID":"1"}','$.ID'));執(zhí)行結果:
JSON_UNQUOTE(JSON_EXTRACT('{"ID":"1"}','$.ID'))
1
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MySQL實現(xiàn)簡單的創(chuàng)建庫和創(chuàng)建表操作方法
MySQL是最常用的數(shù)據(jù)庫,在數(shù)據(jù)庫操作中基本都是增刪改查操作,簡稱CRUD,這篇文章主要給大家介紹了關于MySQL實現(xiàn)簡單的創(chuàng)建庫和創(chuàng)建表操作方法的相關資料,需要的朋友可以參考下2023-11-11
Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解
這篇文章主要介紹了Winserver2012下mysql 5.7解壓版(zip)配置安裝教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-01-01

