Перейти к основному содержимому
Версия: 2.0.x

map_concat

Возвращает объединение входных map. Если ключ найден в нескольких map, эта функция сохраняет только последнее значение среди этих map (принцип LAST WIN). Например, SELECT map_concat(map{1:3},map{1:'4'}); возвращает {1:"4"}.

Эта функция поддерживается начиная с версии v1.5.2.

Синтаксис

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