카테고리:

반정형 및 정형 데이터 함수 (배열/오브젝트)

ARRAY_REPEAT

요소의 지정된 수의 복사본이 포함된 ARRAY 값을 반환합니다.

구문

ARRAY_REPEAT( <element> , <count> )

인자

element

출력 배열에서 반복할 값입니다.

값은 :doc:`반정형 데이터 타입 </sql-reference/data-types-semistructured>`(예: VARIANT, ARRAY, OBJECT) 또는 모든 표준 Snowflake 데이터 타입(예: NUMBER, VARCHAR, BOOLEAN, DATE) 중 하나일 수 있습니다.

MAP와 같은 :doc:`정형 타입 </sql-reference/data-types-structured>`은 지원되지 않습니다.

count

:samp:`{element}`를 반복할 횟수를 지정하는 INTEGER 식입니다.

반환

함수는 element`의 :samp:`count 복사본이 포함된 반정형 ARRAY 값을 반환합니다.

count 이 NULL이면 이 함수는 NULL을 반환합니다.

사용법 노트

  • :samp:`{count}`가 0 또는 음수인 경우 함수는 빈 ARRAY를 반환합니다.

  • element`가 NULL인 경우 함수는 :samp:`count NULL 값의 ARRAY를 반환합니다.

  • element 값은 결과 ARRAY에서 암시적으로 VARIANT로 변환됩니다.

다음 예제에서는 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                   |
|   ]                     |
| ]                       |
+-------------------------+

다음 예제에서는 개수가 0이면 빈 ARRAY 값을 반환함을 보여줍니다.

SELECT ARRAY_REPEAT('x', 0);
+----------------------+
| ARRAY_REPEAT('x', 0) |
|----------------------|
| []                   |
+----------------------+

다음 예제에서는 개수가 NULL이면 NULL을 반환함을 보여줍니다.

SELECT ARRAY_REPEAT('hi', NULL);
+--------------------------+
| ARRAY_REPEAT('hi', NULL) |
|--------------------------|
| NULL                     |
+--------------------------+