メインコンテンツまでスキップ

map_concat

map_concat

説明

入力されたマップの合併を返します。もしキーが複数のマップで見つかった場合、この関数はこれらのマップの中で最後の値、つまりLAST WINを保持します。例えば、SELECT map_concat(map{1:3},map{1:'4'});{1:"4"}を返します。

この関数はv3.1以降でサポートされています。

構文

ANY_MAP map_concat(any_map0, any_map1...)

パラメータ

any_mapN: 合併したいマップの値。すべてのマップは共通の型を持っている必要があります。もし入力されたマップのデータ型が異なる場合、返り値は入力されたマップの共通のスーパータイプになります。

返り値

入力されたマップの共通のスーパータイプのマップを返します。

mysql> SELECT map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));
+------------------------------------------+
| map_concat(map{1:'a',2:'b'}, map{3:'c'}) |
+------------------------------------------+
| {3:"c",1:"a",2:"b"} |
+------------------------------------------+

mysql> select map_concat(map{1:3},map{'3.323':3});
+----------------------------------+
| map_concat((1, 3), ('3.323', 3)) |
+----------------------------------+
| {"3.323":3,"1":3} |
+----------------------------------+
1 row in set (0.19 sec)


mysql> select map_concat(map{1:3},map{1:'4', 3:'5',null:null}, null);
+--------------------------------------------------------+
| map_concat((1, 3), (1, '4', 3, '5', NULL, NULL), NULL) |
+--------------------------------------------------------+
| {1:"4",3:"5",null:null} |
+--------------------------------------------------------+
1 row in set (0.01 sec)