将多个ARRAY数组中的所有元素连接在一起,生成一个新的ARRAY数组,或将多个字符串连接在一起,生成一个新的字符串。
命令格式
array<T> concat(array<T> <a>, array<T> <b>[,...])
string concat(string <str1>, string <str2>[,...])
参数说明
a、b:必填。ARRAY数组。
array<T>
中的T
指代ARRAY数组元素的数据类型,数组中的元素可以为任意类型。a和b中元素的数据类型必须一致。数组中的元素为NULL值时会参与运算。str1、str2:必填。STRING类型。如果输入参数为BIGINT、DOUBLE、DECIMAL或DATETIME类型,则会隐式转换为STRING类型后参与运算,其他类型会返回报错。
返回值说明
返回ARRAY类型。如果任一输入ARRAY数组为NULL,返回结果为NULL。
返回STRING类型。如果没有参数或任一参数为NULL,返回结果为NULL。
使用示例
示例1:连接ARRAY数组
array(10, 20)
和array(20, -20)
。命令示例如下。--返回[10, 20, 20, -20]。 select concat(array(10, 20), array(20, -20));
示例2:ARRAY数组元素包含NULL。命令示例如下。
--返回[10, NULL, 20, -20]。 select concat(array(10, null), array(20, -20));
示例3:任一ARRAY数组为NULL。命令示例如下。
--返回NULL。 select concat(array(10, 20), null);
示例4:连接字符串
aabc
和abcde
。命令示例如下。--返回aabcabcde。 select concat('aabc','abcde');
示例5:输入为空。命令示例如下。
--返回NULL。 select concat();
示例6:任一字符串输入为NULL。命令示例如下。
--返回NULL。 select concat('aabc', 'abcde', null);
相关函数
CONCAT函数属于复杂类型函数或字符串函数。