You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 19c中JSON_TABLE嵌套路径的ON EMPTY子句不生效问题咨询

Oracle 19c中JSON_TABLE嵌套路径的ON EMPTY子句不生效问题咨询

各位好,我最近在Oracle版本升级时遇到了一个JSON处理的奇怪问题,想请大家帮忙看看。

之前在Oracle 12c环境下,我有不少类似这样的查询语句:

select query_id, name1, choice_id
from
json_table('{"queryId": "22"}', '$' error on error
columns nested path '$[*]' columns (
query_id number path '$.queryId',
choice_id number path '$.choiceId' DEFAULT '-1' ON EMPTY
)
)
;

在12c里(包括我在livesql.oracle.com上测试的结果),这个查询会返回空的query_id值,同时choice_id会按照预期触发ON EMPTY子句,返回默认值-1。

但现在我们升级到Oracle 19c之后,所有这类结构的查询里,choice_id都不再返回-1,而是变成了null。我想知道这是不是19c对JSON_TABLE的处理逻辑有了变更?有没有办法让19c的查询结果和12c保持一致呢?

备注:内容来源于stack exchange,提问作者gt.guybrush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:27:34