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