ARRAYS_TO_OBJECT

ARRAYS_TO_OBJECT

ARRAYS_TO_OBJECT는 하나의 입력 ARRAY가 지정하는 키와 다른 입력 ARRAY가 지정하는 값을 담은 OBJECT를 반환하는 반자 구조 데이터 함수예요. 두 배열을 합쳐 키-값 쌍 객체를 만들 때 사용해요.

출처: Snowflake SQL Reference

본문

카테고리: 반자 구조·정형 데이터 함수 (Array/Object)

구문 (Syntax)

ARRAYS_TO_OBJECT( <key_array> , <value_array> )

인자 (Arguments)

<key_array> — 새 OBJECT의 키를 지정하는 VARCHAR 값의 ARRAY예요.

<value_array> — 새 OBJECT의 값 배열이에요. 이 ARRAY는 key_array와 같은 길이여야 해요. 이 배열의 값은 key_array의 키에 대응해야 해요.

반환값 (Returns)

OBJECT 타입의 값을 반환해요. OBJECT는 입력 ARRAY가 지정하는 키와 값을 담아요.

사용 시 유의사항 (Usage notes)

  • key_array의 요소 중 문자열이 아닌 것이 있으면 함수는 다음 오류를 보고해요:
215002 (22000): Key supplied for ARRAYS_TO_OBJECT does not have string type
  • key_array와 value_array는 길이가 같아야 해요. 그렇지 않으면 함수는 다음 오류를 보고해요:
215001 (22000): Key array and value array had unequal lengths in ARRAYS_TO_OBJECT
  • key_array의 요소가 NULL이면 그 키와 해당 값은 반환되는 OBJECT에서 생략돼요. 키가 NULL이 아니지만 value_array의 해당 요소가 NULL이면 그 키와 NULL 값은 반환되는 OBJECT에 포함돼요.
  • 반환되는 OBJECT는 키-값 쌍의 원래 순서를 반드시 보존하지는 않아요.
  • 이 함수는 구조화 타입(structured type)을 입력 인자로 지원하지 않아요.

예시 (Examples)

다음 예시는 두 입력 ARRAY가 지정하는 키-값 쌍을 담은 OBJECT를 반환해요:

SELECT ARRAYS_TO_OBJECT(['key1', 'key2', 'key3'], [1, 2, 3]);
+-------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, 2, 3]) |
|-------------------------------------------------------|
| {                                                     |
|   "key1": 1,                                          |
|   "key2": 2,                                          |
|   "key3": 3                                           |
| }                                                     |
+-------------------------------------------------------+

다음 예시에서 키 배열은 NULL 값을 포함해요. 그 키와 해당 값은 반환되는 OBJECT에서 생략돼요.

SELECT ARRAYS_TO_OBJECT(['key1', NULL, 'key3'], [1, 2, 3]);
+-----------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', NULL, 'KEY3'], [1, 2, 3]) |
|-----------------------------------------------------|
| {                                                   |
|   "key1": 1,                                        |
|   "key3": 3                                         |
| }                                                   |
+-----------------------------------------------------+

다음 예시에서 값 배열은 NULL 값을 포함해요. 그 값과 해당 키는 반환되는 OBJECT에 포함돼요.

SELECT ARRAYS_TO_OBJECT(['key1', 'key2', 'key3'], [1, NULL, 3]);
+----------------------------------------------------------+
| ARRAYS_TO_OBJECT(['KEY1', 'KEY2', 'KEY3'], [1, NULL, 3]) |
|----------------------------------------------------------|
| {                                                        |
|   "key1": 1,                                             |
|   "key2": null,                                          |
|   "key3": 3                                              |
| }                                                        |
+----------------------------------------------------------+

더 알아보기