【发布时间】:2020-10-28 09:33:58
【问题描述】:
我有以下 JSON,我需要从中获取 issuedIdentValue 的值,其中 issuedIdentType = PANCARD
{
"issuedIdent": [
{"issuedIdentType":"DriversLicense","issuedIdentValue":"9797979797979797"},
{"issuedIdentType":"SclSctyNb","issuedIdentValue":"078-01-8877"},
{"issuedIdentType":"PANCARD","issuedIdentValue":"078-01-8877"}
]
}
我无法在下面的查询中对索引值 [2] 进行硬编码,因为这些记录的顺序可以更改。所以想摆脱任何硬编码的索引。
select json_value(
'{"issuedIdent": [{"issuedIdentType":"DriversLicense","issuedIdentValue":"9797979797979797"},{"issuedIdentType":"SclSctyNb","issuedIdentValue":"078-01-8877"}, {"issuedIdentType":"PANCARDSctyNb","issuedIdentValue":"078-01-8877"}]}',
'$.issuedIdent[2].issuedIdentValue'
) as output
from d1entzendev.ExternalEventLog
where
eventname = 'CustomerDetailsInqSVC'
and applname = 'digitalBANKING'
and requid = '4fe1fa1b-abd4-47cf-834b-858332c31618';
需要对 json_value 函数进行哪些更改才能达到预期结果
【问题讨论】:
标签: sql arrays json oracle where-clause