【发布时间】:2020-04-14 11:38:42
【问题描述】:
是否可以在使用JSON_TABLE 解析无效 JSON 时处理错误?
例如下面的查询工作
SELECT *
FROM
JSON_TABLE(
'[{"productCode":"AD","serials":[{"id":"234242343","isPrimary":true}]},{"productCode":"BC","serials":[{"id":"23345345","isPrimary":true}]}]'
, '$[*]'
columns(
productCode varchar2 PATH '$.productCode' NULL ON ERROR,
serials varchar2 format JSON PATH '$.serials' NULL ON ERROR
)
);
上面的输出如下:
|PRODUCTCODE | SERIALS |
|---------------------------------------------------|
|AD |[{"id":"234242343","isPrimary":true}] |
|BC |[{"id":"23345345","isPrimary":true}] |
在上面的例子中,输入的 JSON 是有效的,但是,在我的例子中,不能保证它是从另一个日志表中获取的。
如果遇到无效的 JSON,我希望查询忽略。
【问题讨论】:
标签: sql json oracle error-handling oracle12c