更新时间:2024-01-23 GMT+08:00

concat

concat函数用于拼接数组或字符串。

命令格式

输入为ARRAY数组:将多个ARRAY数组中的所有元素连接在一起,生成一个新的ARRAY数组。

concat(array<T> <a>, array<T> <b>[,...])

输入为字符串:将多个字符串连接在一起,生成一个新的字符串。

concat(string <str1>, string <str2>[,...])

参数说明

  • 输入为ARRAY数组
    表1 参数说明

    参数

    是否必选

    参数类型

    说明

    a、b

    STRING

    ARRAY数组。

    array<T>中的T指代ARRAY数组元素的数据类型,数组中的元素可以为任意类型。

    a和b中元素的数据类型必须一致。数组中的元素为NULL值时会参与运算。

  • 输入为字符串
    表2 参数说明

    参数

    是否必选

    参数类型

    说明

    str1、str2

    STRING

    字符串。

    如果输入参数为BIGINT、DOUBLE、DECIMAL或DATETIME类型,则会自动转换为STRING类型后参与运算,其他类型会返回报错。

返回值说明

返回ARRAY数组或STRING的值。

  • 返回ARRAY类型。如果任一输入ARRAY数组为NULL,返回结果为NULL。
  • 返回STRING类型。如果没有参数或任一参数为NULL,返回结果为NULL。

示例代码

  • 连接ARRAY数组array(1, 2)和array(2, -2)。命令示例如下。
    返回[1, 2, 2, -2]。
    select concat(array(1, 2), array(2, -2));
  • 任一ARRAY数组为NULL。命令示例如下。
    返回NULL。
    select concat(array(10, 20), null);
  • 连接字符串ABC和DEF。命令示例如下。
    返回ABCDEF。
    select concat('ABC','DEF');
  • 输入为空。命令示例如下。
    返回NULL。
    select concat();
  • 任一字符串输入为NULL。命令示例如下。
    返回NULL。
    select concat('abc', 'def', null);