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
相关产品推荐
相关产品推荐

