- 카테고리:
반정형 및 정형 데이터 함수 (배열/오브젝트)
ARRAY_SIZE¶
입력 배열의 크기를 반환합니다.
ARRAY_SIZE의 변형은 VARIANT 값을 입력으로 사용합니다. VARIANT 값에 배열이 포함되어 있는 경우, 배열의 크기가 반환됩니다. 그렇지 않은 경우, 값이 배열이 아니면 NULL이 반환됩니다.
구문¶
ARRAY_SIZE( <array> )
ARRAY_SIZE( <variant> )
반환¶
반환된 값의 데이터 타입은 INTEGER
입니다.
사용법 노트¶
ARRAY 값을 입력으로 사용하여 배열의 크기를 반환합니다(즉, 가장 큰 인덱스 + 1).
배열이 스파스 배열인 경우, 이는 정의된 요소뿐만 아니라 정의되지 않은 요소도 크기에 포함됨을 의미합니다.
NULL 인자는 결과로서 NULL을 반환합니다.
예¶
다음은 간단한 예입니다.
SELECT ARRAY_SIZE(ARRAY_CONSTRUCT(1, 2, 3)) AS SIZE; +------+ | SIZE | |------| | 3 | +------+
다음은 약간 더 복잡한 예입니다. 이번에는 VARIANT 데이터 타입을 사용합니다.
CREATE OR replace TABLE colors (v variant); INSERT INTO colors SELECT parse_json(column1) AS v FROM VALUES ('[{r:255,g:12,b:0},{r:0,g:255,b:0},{r:0,g:0,b:255}]'), ('[{r:255,g:128,b:0},{r:128,g:255,b:0},{r:0,g:255,b:128},{r:0,g:128,b:255},{r:128,g:0,b:255},{r:255,g:0,b:128}]') v;VARIANT 열에 있는 각 배열의 크기를 검색합니다.
SELECT ARRAY_SIZE(v) from colors; +---------------+ | ARRAY_SIZE(V) | |---------------| | 3 | | 6 | +---------------+VARIANT 열에 있는 각 배열의 마지막 요소를 검색합니다.
SELECT GET(v, ARRAY_SIZE(v)-1) FROM colors; +-------------------------+ | GET(V, ARRAY_SIZE(V)-1) | |-------------------------| | { | | "b": 255, | | "g": 0, | | "r": 0 | | } | | { | | "b": 128, | | "g": 0, | | "r": 255 | | } | +-------------------------+