Перейти к основному содержимому

map_concat

Описание

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

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

Синтаксис

ANY_MAP map_concat(any_map0, any_map1...)

Параметры

any_mapN: значения карт, которые вы хотите объединить. Все карты должны иметь общий тип. Если типы данных входных карт не совпадают, возвращаемый тип является общим супертипом входных карт.

Возвращаемое значение

Возвращает 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"} |
+--------------------------------------------------------+