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

array_concat

Описание

Объединяет несколько массивов в один массив, который содержит все элементы из исходных массивов.

Элементы в объединяемых массивах могут быть одного типа или разных типов. Однако мы рекомендуем использовать элементы одного типа.

Значения null обрабатываются как обычные значения.

Синтаксис

array_concat(input0, input1, ...)

Параметры

input: один или несколько массивов, которые вы хотите объединить. Укажите массивы в формате (input0, input1, ...). Эта функция поддерживает следующие типы элементов массива: BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, VARCHAR, DECIMALV2, DATETIME, DATE и JSON. JSON поддерживается начиная с версии 1.5.0.

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

Возвращает массив, который содержит все элементы из массивов, указанных в параметре input. Элементы возвращаемого массива имеют тот же тип данных, что и элементы входных массивов. Кроме того, элементы возвращаемого массива следуют порядку входных массивов и их элементов.

Примеры

Пример 1: Объединение массивов, содержащих числовые элементы.

select array_concat([57.73,97.32,128.55,null,324.2], [3], [5]) as res;

+-------------------------------------+

| res |

+-------------------------------------+

| [57.73,97.32,128.55,null,324.2,3,5] |

+-------------------------------------+

Пример 2: Объединение массивов, содержащих строковые элементы.

select array_concat(["sql","storage","execute"], ["Query"], ["Vectorized", "cbo"]);

+----------------------------------------------------------------------------+

| array_concat(['sql','storage','execute'], ['Query'], ['Vectorized','cbo']) |

+----------------------------------------------------------------------------+

| ["sql","storage","execute","Query","Vectorized","cbo"] |

+----------------------------------------------------------------------------+

Пример 3: Объединение двух массивов разных типов.

select array_concat([57,65], ["pear","apple"]);
+-------------------------------------------+
| array_concat([57, 65], ['pear', 'apple']) |
+-------------------------------------------+
| ["57","65","pear","apple"] |
+-------------------------------------------+

Пример 4: Обработка значений null как обычных значений.

select array_concat(["sql",null], [null], ["Vectorized", null]);

+---------------------------------------------------------+

| array_concat(['sql',NULL], [NULL], ['Vectorized',NULL]) |

+---------------------------------------------------------+

| ["sql",null,null,"Vectorized",null] |

+---------------------------------------------------------+