MySQL 5.7 开始支持存储JSON类型的数据,今天遇到了一个问题,获取JSON子集里的 KEY 时出现的
{
"createActivity": {
"content": "这是我第一篇动态",
"agreeCount": 0,
"shareCount": 0,
"againstCount": 0,
"commentCount": 0
}
}
下面我们想获取 Key 为 content
的值
mysql提供了获取key的函数 json_extract(json字段, $.key)
下面这段sql 只能获取 createActivity
这个级别的Key
select json_extract(`data`, '$.content') from table
如果想获取到 content
, 得下面这样写
select json_extract(`data`, '$**.content') from table
的确获取到了值,可值是有问题的
可以从上面的图片看出,多了[],还有双引号…
双引号可以用 JSON_UNQUOTE
解决,但 [ ] 该怎么解决呢?
通过嵌套 json_extract 解决
select json_extract(json_extract(`data`, '$.createActivity'), '$.content') from table
好了,今天就分享到这里,如果还有什么好方法,欢迎提出来
本文地址:https://blog.csdn.net/Fyf_010316/article/details/107418609
如对本文有疑问, 点击进行留言回复!!
JavaScript中某一标签内函数用this获取不到当前标签的问题笔记
MSAL.js 2.0发布 支持授权代码流 (authorization code flow)
网友评论