我想编写一个 Oracle PL SQL 查询来从下面的 JSON 中提取数据,冷,任何人都可以帮助构建一个查询。
{
"tranid": "1234",
"transdtls": {
"transdetails": [
{
"details": [
{
"name": "ABC",
"div": "date",
"paramList": []
}
]
}
]
}
}
您可以使用
JSON_TABLE
提取值:
SELECT *
FROM JSON_TABLE(
'{
"tranid": "1234",
"transdtls": {
"transdetails": [
{
"details": [
{
"name": "ABC",
"div": "date",
"paramList": []
}
]
}
]
}
}',
'$'
COLUMNS (
tranid VARCHAR2(10) PATH '$.tranid',
NESTED PATH '$.transdtls.transdetails[*]' COLUMNS (
NESTED PATH '$.details[*]' COLUMNS (
name PATH '$.name',
div PATH '$.div'
-- , NESTED PATH '$.paramList[*] COLUMNS ()
)
)
)
)
输出:
特兰尼德 | 姓名 | DIV |
---|---|---|
1234 | ABC | 日期 |