为什么json_arrayagg中的null子句上的null不会产生零元素?
以下查询...
with t as (
select 'foo' x from dual union all
select 'bar' x from dual union all
select null x from dual union all
select 'baz' x from dual
)
select
json_arrayagg(x null on null) xnn,
json_arrayagg(x absent on null) xan
from
t;
...返回
XNN XAN
------------------- -------------------
["foo","bar","baz"] ["foo","bar","baz"]
我相信这是Oracle部分的错误,XNN
应该评估[“ foo”,“ bar”,null,null,“ baz”] < /代码>。
有人可以确认我的怀疑吗?
The following query ...
with t as (
select 'foo' x from dual union all
select 'bar' x from dual union all
select null x from dual union all
select 'baz' x from dual
)
select
json_arrayagg(x null on null) xnn,
json_arrayagg(x absent on null) xan
from
t;
... returns
XNN XAN
------------------- -------------------
["foo","bar","baz"] ["foo","bar","baz"]
I believe this is a bug on Oracle's part and XNN
should evaluate to ["foo","bar", null, "baz"]
.
Can someone confirm my suspicion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是Oracle 19的早期版本中的一个错误,已固定在Oracle 19.15(或可能更早)中。
Yes, this is a bug in an early version of Oracle 19 and is fixed in Oracle 19.15 (or possibly earlier).