使用JSON_QUERY提取totalLoanBalance返回null问题求助
问题排查及解决方案
错误原因
- JSON路径匹配错误
你要提取的totalLoanBalance字段不在JSON根节点下,它的完整层级是根节点 → balances → balanceTotals → totalLoanBalance,你写的$.totalLoanBalance路径无法匹配到对应字段。 - 函数使用错误
JSON_QUERY函数的设计用途是提取JSON结构中的对象或数组片段,如果目标是字符串、数字这类标量值,调用JSON_QUERY会返回NULL,你需要改用专门提取标量值的JSON_VALUE函数。
正确查询语句
SELECT JSON_VALUE('{ "balances": { "loanAcctBals": [ { ---------- ---------- } ], "invAcctBals": [ { ---------- ---------- ], "vestInfo": { ---------- ---------- }, "vestPercents": [], "vestMessages": [], "balanceTotals": { "totalBalance": 42932.13, "totalLoanBalance": 34406.19, "totalInvBalance": 42932.13, "totalVestBalance": 0.0, "totalInvVestBalance": 0.0 }, "loanBalanceInd": "N", "isisMsgs": [] }, "errorResponses": [] }', '$.balances.balanceTotals.totalLoanBalance') AS value FROM DUAL;
执行后即可返回预期值34406.19。
内容的提问来源于stack exchange,提问作者Vimal Bhaskar
相关产品推荐
相关产品推荐

