试图使用函数ARRAY_AGG
并使其忽略空值,但文档未提供任何有关此信息。使用“ IGNORE NULLS”进行了尝试,该扳手可以识别但不会认为有效。
示例:
SELECT ARRAY_AGG(x IGNORE NULLS) FROM UNNEST([1,NULL,2,3]) x
抛出:IGNORE NULLS and RESPECT NULLS in aggregate functions are not supported
答案 0 :(得分:2)
您仍然可以在汇总之前明确滤除null:
select array_agg(a) from unnest([1,2,3,cast(null as int64)])
a where a is not null;
将产生[1,2,3]
作为结果。
答案 1 :(得分:1)
如果您错过了,Spanner 现在支持 doc 中所述的 IGNORE NULLS
语句。
ARRAY_AGG([DISTINCT] expression [{IGNORE|RESPECT} NULLS] [HAVING {MAX | MIN} expression2])