マップコンストラクタ/演算子は、新しいマップデータ型を構築するために使用されます。OceanBaseデータベースで現在サポートされているマップコンストラクタには map() があり、演算子には {} があります。
map
map() 関数は、マップデータを構築するために使用されます。構文は以下のとおりです:
map(key1, value1, key2, value2, ..., keyN, valueN)
入力パラメータの説明は以下のとおりです:
- 入力パラメータの数は偶数である必要があります。奇数番目のパラメータはKey配列を、偶数番目のパラメータはValue配列を形成します。
- key1~keyN と value1~valueN のデータ要素の型については、マップデータ型の概要を参照してください。
- 入力されるキー・バリュー・ペアのKeyは重複してはなりません。重複するKeyがある場合、後から入力されるValueが優先され、前のValueは上書きされます。
戻り値はマップデータ型(MAP)です。
例:
-- 構築されるマップデータには1つのキー・バリュー・ペアがあり、keyは1、valueは2です
SELECT map(1,2);
+----------+
| map(1,2) |
+----------+
| {1:2} |
+----------+
1 row in set
-- 構築されるマップデータには3つのキー・バリュー・ペアがあります
SELECT map(1,"a",2,"b",3,"c");
+------------------------+
| map(1,"a",2,"b",3,"c") |
+------------------------+
| {1:"a",2:"b",3:"c"} |
+------------------------+
1 row in set
-- Key配列のデータ型は奇数番目のパラメータによって決定され、Value配列のデータ型は偶数番目のパラメータによって決定されます
SELECT map(1,"a","b",1.8,"ccc",3);
+-------------------------------+
| map(1,"a","b",1.8,"ccc",3) |
+-------------------------------+
| {"1":"a","b":"1.8","ccc":"3"} |
+-------------------------------+