다음을 통해 공유


MAP 형식

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

키-값 쌍 세트로 구성된 값을 나타냅니다.

구문

MAP <keyType, valueType>
  • keyType: 키를 지정하는 MAP 이외의 모든 데이터 형식입니다.
  • valueType: 값을 지정하는 모든 데이터 형식입니다.

제한

map 유형은 0보다 크거나 같은 카디널리티의 맵을 지원합니다.

키는 고유해야 하며 NULL이 아니어야 합니다.

MAP은 유사한 데이터 형식이 아닙니다.

리터럴

리터럴 맵 값을 생성하는 방법에 대한 자세한 내용은 map 함수를 참조하세요.

키별로 맵에서 값을 검색하는 방법에 대한 자세한 내용은 [] 연산자를 참조하세요.

예제

> SELECT map('red', 1, 'green', 2);
  {red->1, green->2}

> SELECT typeof(CAST(NULL AS MAP<TIMESTAMP, INT>));
  MAP<TIMESTAMP, INT>

> SELECT map(array(1, 2), map('green', 5));
  {[1, 2]->{green->5}}

> SELECT CAST(map(struct('Hello', 'World'), 'Greeting') AS MAP<STRUCT<w1:string, w2:string>, string>);
  {{Hello, World}->Greeting}

> SELECT m['red'] FROM VALUES(map('red', 1, 'green', 2)) AS T(m);
  1

> SELECT map('red', 1) = map('red', 1);
  Error: EqualTo does not support ordering on type map<string,int>