2017-10-21 3 views

答えて

3

がNULLABLEの要素を持つ配列を表現するためにすることを示している、あなたがそれらをラップする構造を使用することができます。たとえば、次のようなカラム有することができる:

nullable_arr STRUCT<value ARRAY<STRUCT<value INT64>>> 

:歩物事を考える

nullable_arr ARRAY<STRUCT<value INT64>> 

には、間接の別のレベルを使用して、おそらくヌル要素を有する可能性がヌル配列を表すことができます欠点は、もちろん、クエリにはより多くの構文が必要だということです。 arrが定義された名前の列の合計を取って、比較のために

SELECT (SELECT SUM(elem.value) FROM UNNEST(nullable_arr.value) AS elem) AS array_sum 
FROM MyTable; 

:あなたは後者のタイプで定義された配列の要素の合計を取得したい場合は、このような何かをしなければならないでしょうARRAY<INT64>として表すことができます。

SELECT (SELECT SUM(elem) FROM UNNEST(arr) AS elem) AS array_sum 
FROM MyTable; 
3

BigQueryのフィールドにNULLABLEおよびREPEATEDモードを使用できますか?

いいえ。いずれかまたは別の

ARRAYs cannot be NULL. 
NULL ARRAY elements cannot persist to a table. 

は、いくつかの文字列がNULLであるかもしれない文字列の配列を表すために、例えばData Types

もっと見ます。

以下の簡単な例は、Array cannot have a null element;

#standardSQL 
WITH test AS (
    SELECT ['abc', NULL, 'xyz'] 
) 
SELECT * 
FROM test 
関連する問題