[英]Mysql Json Extract - wild card selection of key
下面是我數據庫中的 json blob
{
RootData: {
202003: {
201903: {
"abc": 123,
xyz: 456
},
data1: {
},
data2: {
}
}
}
}
現在我有一個查詢在哪里提取節點201903
內的數據,如下所示
select blah blah,
JSON_EXTRACT(convert(columnname using utf8), '$.RootData."202003"."201903".abc') as blah
在上面的查詢中,我的問題圍繞着'$.RootData."202003"."201903".abc'
部分
我不想硬編碼部分201903
並在通配符的幫助下尋找可以 select 節點的語法。
我嘗試了以下選項但沒有運氣
'$.RootData."202003"."20*".abc'
'$.RootData."202003".[1].abc'
'$.RootData."202003".$.20*.abc'
不起作用,因為我猜它的語法不正確。 尋找正確的語法。 20 總是那個鍵的開始,我們可以依賴它。 它始終是第一把鑰匙。
$.RootData."202003"**.abc
形式的路徑應該會有所幫助。
參考 - https://www.db-fiddle.com/f/6g4qiekAU4i3J8iRoAZiCA/0
結果類型將是數組。 要獲取第一個匹配結果,可以將結果嵌套在另一個JSON_EXTRACT
中,如下所示
select JSON_EXTRACT(JSON_EXTRACT(convert(data using utf8), '$.RootData."202003"**.abc'), '$[0]')
from rootdata;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.