2017-10-21 1 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. 

하나 또 다른 예를 들어 Data Types

일부 문자열이 NULL이 될 수있는 문자열의 배열을 표현하기 위해 더를 참조하십시오.

간단한 예를 아래 Array cannot have a null element;

#standardSQL 
WITH test AS (
    SELECT ['abc', NULL, 'xyz'] 
) 
SELECT * 
FROM test 
관련 문제