メインコンテンツまでスキップ
バージョン: Latest-3.4

map_concat

入力されたマップの和集合を返します。複数のマップに同じキーが存在する場合、この関数はそれらのマップの中で最後の値のみを保持します。これを LAST WIN と呼びます。例えば、SELECT map_concat(map{1:3},map{1:'4'});{1:"4"} を返します。

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

Syntax

ANY_MAP map_concat(any_map0, any_map1...)

Parameters

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

Return value

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

Examples

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

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

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