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中,如果有的话就是修改咯!

如果有解决你的问题点赞呗儿~

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