【发布时间】:2017-09-23 04:28:58
【问题描述】:
ARRAY_PUT(表达式,值,...)
此函数返回一个新数组,如果值 不存在。否则,它返回未修改的输入 数组。
但我发现,如果该值是具有 null 属性的对象,它永远不会匹配数组中的现有值。
例如,采取以下查询:
SELECT ARRAY_PUT([{'foo': 0}], {'foo': 0})
结果是:
[{"foo": 0}]
现在将属性更改为 null:
SELECT ARRAY_PUT([{'foo': null}], {'foo': null})
结果是:
[{"foo": null}, {"foo": null}]
为什么 ARRAY_PUT 不对具有空属性的对象进行重复数据删除?
【问题讨论】: