ARRAY_REPEAT

ARRAY_REPEAT

ARRAY_REPEAT는 요소를 지정된 수만큼 복사해 담은 ARRAY 값을 반환하는 반자 구조 데이터 함수예요. 같은 값을 여러 번 담은 배열을 만들고 싶을 때 사용해요.

출처: Snowflake SQL Reference

본문

카테고리: 반자 구조·정형 데이터 함수 (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                     |
+--------------------------+

더 알아보기