跳到主要内容
版本: 最新版本-3.5

map_concat

返回输入 map 的并集。 如果在一个以上的 map 中找到某个 key,则此函数仅保留这些 map 中的最后一个值,称为 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:要合并的 map 值。 所有 map 必须共享一个通用类型。 如果输入 map 的数据类型不同,则返回类型是输入 map 的通用超类型。

返回值

返回输入 map 的通用超类型的 MAP。

示例

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"} |
+--------------------------------------------------------+