MAP

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

キーと値のペアのセットを構成する値を表します。

構文

MAP <keyType, valueType>
  • keyType:キーを指定する MAP 以外の任意のデータ型。
  • valueType: 値を指定する任意のデータ型。

制限

マップ型では、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>