admin

取消嵌套和重整大查询数组似乎会破坏null

sql

SELECT ARRAY(SELECT foo FROM UNNEST(CAST(NULL as ARRAY<STRING>)) as foo) is null

返回假

SELECT CAST(NULL as ARRAY<STRING>) is null

返回true

我的具体情况是我想使用

SELECT ARRAY(SELECT foo from UNNEST(bar) as foo Order by foo) as arr

如果原本为null,则将其保留为null。我愿意接受其他方法来对数组进行排序,但保留null(这意味着我不会挂断我的实现)。


阅读 188

收藏
2021-07-01

共1个答案

admin

一个 数组是从不同NULL与阵列类型。空数组是没有元素的数组。那就是你从中得到的UNNEST()。因此,与的比较NULL是错误的。

第二个返回的NULL类型为数组。这等效于NULL,因此比较是正确的。

2021-07-01