我有这样的json
我的列名是data
[
{
"DetailMaster":{
"DetailsID":"FD001",
"Number":"9W82Q",
"RegNumber":"SF AAV",
"Hours":"4000"
},
"DetailChild":[
{
"subDetailsID":"FD001_Sub01",
"DetailsID":"FD001",
"model":"B737"
}
]
}
]
我只想通过在json中提供Number和RegNumber来获取列数据。我该怎么办
答案 0 :(得分:1)
可以通过两种方法实现。
1)使用 JSON_EXTRACT
mysql> SELECT c, JSON_EXTRACT(c, "$.id"), g
> FROM jemp
> WHERE JSON_EXTRACT(c, "$.id") > 1
> ORDER BY JSON_EXTRACT(c, "$.name");
2)使用列->>路径
-> 运算符与两个自变量一起使用时用作 JSON_EXTRACT()函数的别名,左侧为列标识符,右侧为JSON路径将根据JSON文档(列值)进行评估。您可以使用此类表达式代替SQL语句中出现的列标识符。
mysql> SELECT c, c->"$.id", g
> FROM jemp
> WHERE c->"$.id" > 1
> ORDER BY c->"$.name";
其中c是JSON的列。 有关更多参考,请访问MySQL官方网站。