更新时间:2023-10-25 GMT+08:00

concat_ws

concat_ws函数用于连接多个字符串,字符串之间以指定的分隔符分隔。

命令格式

concat_ws(string <separator>, string <str1>, string <str2>[,...])

concat_ws(string <separator>, array<string> <a>)

返回将参数中的所有字符串或ARRAY数组中的元素按照指定的分隔符连接在一起的结果。

参数说明

表1 参数说明

参数

是否必选

参数类型

说明

separator

STRING

STRING类型的分隔符。

str1、str2

STRING

至少要指定2个字符串。

STRING类型。如果输入为BIGINT、DECIMAL、DOUBLE或DATETIME类型,则会隐式转换为STRING类型后参与运算。

a

ARRAY

数组中的元素为STRING类型。

返回值说明

返回STRING类型或STRUCT类型的值。

  • str1或str2非STRING、BIGINT、DECIMAL、DOUBLE或DATETIME类型时,返回报错。
  • 如果参数(待拼接字符)为NULL,则会忽略这个参数
  • 如果没有输入参数(待拼接字符)返回NULL。

示例代码

  • 将字符串ABC和DEF通过:连接。命令示例如下。
    返回ABC:DEF。
    select concat_ws(':','ABC','DEF');
  • 任一输入参数为NULL。命令示例如下。
    返回avg:18。
    select concat_ws(':','avg',null,'18');
  • 将ARRAY数组array('name', 'lilei')中的元素通过:连接。命令示例如下。
    返回name:lilei。
    select concat_ws(':',array('name', 'lilei'));