ARRAY_REPEAT
ARRAY_REPEAT
ARRAY_REPEAT는 요소를 지정된 수만큼 복사해 담은 ARRAY 값을 반환하는 반자 구조 데이터 함수예요. 같은 값을 여러 번 담은 배열을 만들고 싶을 때 사용해요.
본문
카테고리: 반자 구조·정형 데이터 함수 (Array/Object)
구문 (Syntax)
ARRAY_REPEAT( <element> , <count> )
인자 (Arguments)
<element> — 출력 배열에서 반복할 값이에요. 값은 반자 구조 데이터 타입(예: VARIANT, ARRAY, OBJECT) 또는 표준 Snowflake 데이터 타입(예: NUMBER, VARCHAR, BOOLEAN, DATE)일 수 있어요.
MAP 같은 구조화 타입(structured type)은 지원되지 않아요.
<count> — element를 반복할 횟수를 지정하는 INTEGER 표현식이에요.
반환값 (Returns)
count개의 element 복사본을 담은 반자 구조 ARRAY 값을 반환해요. count가 NULL이면 NULL을 반환해요.
사용 시 유의사항 (Usage notes)
count가 0 또는 음수면 빈 ARRAY를 반환해요.element가 NULL이면count개의 NULL 값을 담은 ARRAY를 반환해요.- 결과 ARRAY에서
element값은 암시적으로 VARIANT로 변환돼요.
예시 (Examples)
다음 예시는 INTEGER 값을 세 번 반복해요:
SELECT ARRAY_REPEAT(42, 3);
+---------------------+
| ARRAY_REPEAT(42, 3) |
|---------------------|
| [ |
| 42, |
| 42, |
| 42 |
| ] |
+---------------------+
다음 예시는 STRING 값을 반복해요:
SELECT ARRAY_REPEAT('hello', 2);
+--------------------------+
| ARRAY_REPEAT('hello', 2) |
|--------------------------|
| [ |
| "hello", |
| "hello" |
| ] |
+--------------------------+
다음 예시는 ARRAY 값을 반복해 중첩 ARRAY를 만들어요:
SELECT ARRAY_REPEAT([1, 2], 2);
+-------------------------+
| ARRAY_REPEAT([1, 2], 2) |
|-------------------------|
| [ |
| [ |
| 1, |
| 2 |
| ], |
| [ |
| 1, |
| 2 |
| ] |
| ] |
+-------------------------+
다음 예시는 count가 0이면 빈 ARRAY 값을 반환함을 보여줘요:
SELECT ARRAY_REPEAT('x', 0);
+----------------------+
| ARRAY_REPEAT('x', 0) |
|----------------------|
| [] |
+----------------------+
다음 예시는 NULL count가 NULL을 반환함을 보여줘요:
SELECT ARRAY_REPEAT('hi', NULL);
+--------------------------+
| ARRAY_REPEAT('hi', NULL) |
|--------------------------|
| NULL |
+--------------------------+