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

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