본문으로 건너뛰기
최종 수정: 에

MAP_FROM_ARRAYS

설명​

키 배열과 값 배열로 MAP<K, V>를 생성합니다. 같은 위치의 요소들이 키-값 쌍을 이룹니다.

노트

이 함수는 Apache Doris 4.2부터 지원됩니다.

구문​

MAP_FROM_ARRAYS(<keys>, <values>)

매개변수​

매개변수설명
<keys>ARRAY<K>입니다. K는 MAP의 키로 지원되는 타입이어야 합니다. 배열과 배열의 요소는 NULL일 수 있습니다.
<values>ARRAY<V>입니다. 배열과 배열의 요소는 NULL일 수 있습니다. 두 배열 모두 NULL이 아닌 경우, 이 배열의 요소 수는 <keys>와 같아야 합니다.

반환 값​

MAP<K, V>를 반환합니다.

  • 입력 배열 중 하나라도 NULL이면 NULL을 반환합니다.
  • NULL 요소는 결과에서 NULL 키 또는 값으로 유지됩니다.
  • 두 배열 모두 NULL이 아니지만 길이가 다르면 오류가 발생합니다. 배열 중 하나라도 NULL이면 다른 배열의 길이는 검사하지 않습니다.
  • 같은 키가 여러 번 나타나면 마지막에 나타난 값이 유지됩니다.
  • 인수가 배열이 아니거나 K가 MAP의 키로 지원되는 타입이 아니면 분석 오류가 발생합니다.

예제​

SELECT map_from_arrays([1, 2], [10, 20]) AS result;
+--------------+
| result |
+--------------+
| {1:10, 2:20} |
+--------------+
SELECT map_from_arrays([1, 1], [10, 20]) AS result;
+--------+
| result |
+--------+
| {1:20} |
+--------+
SELECT map_from_arrays(CAST(NULL AS ARRAY<INT>), [10]);
+-------------------------------------------------+
| map_from_arrays(CAST(NULL AS ARRAY<INT>), [10]) |
+-------------------------------------------------+
| NULL |
+-------------------------------------------------+
SELECT map_from_arrays(
array(CAST(NULL AS INT), 2),
array(10, CAST(NULL AS INT))) AS result;
+-------------------+
| result |
+-------------------+
| {null:10, 2:null} |
+-------------------+
SELECT map_from_arrays([1, 2], [10]);
ERROR 1105 (HY000): The key and value array offsets of function map_from_arrays must be identical