카테고리:

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

ARRAYS_TO_OBJECT

하나의 입력 ARRAY 로 지정된 키와 다른 입력 ARRAY로 지정된 값을 포함하는 OBJECT 를 반환합니다.

구문

ARRAYS_TO_OBJECT( <key_array> , <value_array> )
Copy

인자

key_array

새 OBJECT의 키를 지정하는 VARCHAR 값으로 구성된 ARRAY입니다.

value_array

새 OBJECT의 값으로 구성된 ARRAY입니다. 이 ARRAY는 key_array 와 길이가 같아야 합니다. 이 ARRAY의 값은 key_array 의 키와 일치해야 합니다.

반환

함수는 OBJECT 형식의 값을 반환합니다. OBJECT에는 입력 ARRAY에서 지정한 키와 값이 포함됩니다.

사용법 노트

  • key_array 의 요소가 문자열이 아닌 경우 함수는 다음 오류를 보고합니다.

    215002 (22000): Key supplied for ARRAYS_TO_OBJECT does not have string type
    
  • key_arrayvalue_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는 키-값 페어의 원래 순서를 반드시 보존하지는 않습니다.

  • 이 함수는 입력 인자로 정형 유형 을 지원하지 않습니다.

다음 예에서는 두 개의 입력 ARRAY로 지정된 키-값 페어가 포함된 OBJECT를 반환합니다.

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

다음 예에서는 키로 구성된 ARRAY에 NULL 값이 포함됩니다. 해당 키와 그에 대응하는 값은 반환된 OBJECT에서 생략됩니다.

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

다음 예에서는 값으로 구성된 ARRAY에 NULL 값이 포함됩니다. 해당 값과 그에 대응하는 키는 반환된 OBJECT에 포함됩니다.

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