MAP_ENTRIES
MAP_ENTRIES
MAP 값의 각 항목을 키-값 쌍 객체로 바꿔 ARRAY로 돌려주는 함수예요. MAP의 모든 엔트리를 한 번에 펼쳐 확인하고 싶을 때 유용해요.
출처: 공식 문서
본문
MAP 값의 각 항목에 대해 키-값 쌍 객체들의 ARRAY 값을 반환합니다.
구문 (Syntax)
MAP_ENTRIES( <map> )
인자 (Arguments)
map
입력 MAP 값입니다.
반환값 (Returns)
입력 MAP 값의 항목에 대응하는 key 필드와 value 필드를 가진 OBJECT를 각 요소로 하는 ARRAY 값을 반환합니다.
map이 NULL이면 함수는 NULL을 반환합니다.map이 비어 있으면 함수는 빈 ARRAY 값을 반환합니다.- 반환된 ARRAY 값에서 항목의 순서는 정의되어 있지 않습니다.
사용 참고 (Usage notes)
- 함수는 정확히 하나의 인자를 받습니다. 인자 없이 또는 둘 이상의 인자로 호출하면 오류가 발생합니다.
예제 (Examples)
MAP 값의 항목을 키-값 쌍 객체로 반환합니다:
SELECT MAP_ENTRIES({'a': 1, 'b': 2}::MAP(VARCHAR, INT)) AS entries;
+-----------------+
| ENTRIES |
|-----------------|
| [ |
| { |
| "key": "a", |
| "value": 1 |
| }, |
| { |
| "key": "b", |
| "value": 2 |
| } |
| ] |
+-----------------+
빈 MAP 값에 대해 빈 ARRAY 값을 반환합니다:
SELECT MAP_ENTRIES({}::MAP(VARCHAR, INT)) AS entries;
+---------+
| ENTRIES |
|---------|
| [] |
+---------+
값이 ARRAY 타입인 MAP의 항목을 반환합니다:
SELECT MAP_ENTRIES({'a': [1, 2, 3], 'b': [4, 5]}::MAP(VARCHAR, ARRAY(INT))) AS entries;
+-----------------+
| ENTRIES |
|-----------------|
| [ |
| { |
| "key": "a", |
| "value": [ |
| 1, |
| 2, |
| 3 |
| ] |
| }, |
| { |
| "key": "b", |
| "value": [ |
| 4, |
| 5 |
| ] |
| } |
| ] |
+-----------------+
NULL 입력에 대해 NULL을 반환합니다:
SELECT MAP_ENTRIES(NULL::MAP(VARCHAR, INT)) AS entries;
+---------+
| ENTRIES |
|---------|
| NULL |
+---------+
더 알아보기 (Learn more)
- MAP_KEYS — MAP의 키 목록
- MAP_VALUES — MAP의 값 목록
- MAP_SIZE — MAP의 항목 수
- MAP — MAP 데이터 타입