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没有使用null属性重复数据删除对象?
答案 0 :(得分:0)
NULL表示未定义,比较{" foo":null} = {" foo":null}将返回NULL,这是假的(除非它被用作表达式IS NULL) 。由于它不会重复数值。