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(这意味着我不会挂断我的实现)。
一个 空 数组是从不同NULL与阵列类型。空数组是没有元素的数组。那就是你从中得到的UNNEST()。因此,与的比较NULL是错误的。
NULL
UNNEST()
第二个返回的NULL类型为数组。这等效于NULL,因此比较是正确的。