mysql json 查詢和修改

mysql 查詢json中某個key數據

SELECT  json_extract(json,"$.key") FROM table

上述查詢結果會帶引號 可以配合JSON_UNQUOTE 函數來去掉引號

SELECT  JSON_UNQUOTE(json_extract(json,"$.key")) FROM table

這樣就會獲取到json中對應的key的值了,我在開發中遇到過,就算這麼寫,返回結果居然是個數組,我用的框架是jfinal,我不知道是不是它封裝返回值的問題,所以在配合CAST 函數

例:

SELECT  CAST(JSON_UNQUOTE(json_extract(json,"$.key"))AS CHAR) FROM table

這樣返回的正確結果  將結果變成char類型 (大家如果有疑問可以看下cast函數)這裏只是告訴大家如何運用

AS:用於分隔兩個參數,在AS之前的是要處理的數據,在AS之後是要轉換的數據類型。

對於用sql修改json中某個值的語句

例:

update table set json=json_set(json,"$.key","改修的值") where ?=?(你的判斷條件)

首先找到json中的key 然後要修改的值 這裏值得注意的是如果你的json中沒有對應的key的話,他會把這個key追加到你的json中,如果有的話就是修改咯!

如果有解決你的問題點讚唄兒~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章