マッピング構造関数/演算子は、新しいマッピングデータ型の構築に使用されます。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"} |
+-------------------------------+