MySQL:JSON语法说明
2023-12-13 09:33:55
一、SELECT JSON_OVERLAPS('[5261,5265]', '[5265,5278,1000]') -- 0不存在 1存在(比较两个数组是否有匹配)
二、SELECT JSON_CONTAINS('[1,2,3,4,5,6,7]', ?CAST(4 AS CHAR)) -- key是字符串类型(比较字符串是否在数组中存在)
三、JSON_EXTRACT(eas.question_a, '$[*].id')? -- 提取JSON中的字段或者对象
四、JSON_TABLE -- 将表中的JSON字段转成表,另外JSON_TABLE 可以多层引用,用法:
SELECT
eas_opt.*
FROM exam_an eas
, json_table(
eas.qu,
"$[*]"
COLUMNS(
id VARCHAR(255) PATH "$.id",
second double PATH "$.second",
opt json PATH "$.opt"
)
)eas_opt
五、以下是json类型的数组和对象的操作,可参考:https://baijiahao.baidu.com/s?id=1719636094470813418&wfr=spider&for=pc
-
json_insert就是向json中插入,如果不存在则插入,存在则忽略
-
json_replace就是替换json中的项,如果不存在则忽略,存在则替换
-
json_set结合前面俩个,存在则替换,不存在则插入,子节点插入问题:Mysql中关于JSON_SET更新或追加子节点属性失败的解决办法_mysql中关于json_set多层级更新-CSDN博客
-
json_merge_patch多个json进行合并,相同键名,后面的覆盖前面的,如果值是对象,则递归进行处理
-
json_merge_preserve多个json进行合并,相同键名,则键值组成新的对象
-
json_remove移除掉json某一项
文章来源:https://blog.csdn.net/qq_16946803/article/details/134903446
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!