SQL Server CONCAT_WS 字符串函数用于使用用户指定的.分隔符组合两个或多个字符串,并返回一个字符串。CONCAT_WS 函数的基本语法如下所示。
SELECT CONCAT_WS ('Seperator', String 1,String 2,..,String N)
FROM [Source]
在此带有分隔符的连接演示中,我们使用了下面显示的数据。

SQL CONCAT_WS 函数示例
CONCAT_WS 函数通过使用分隔符连接两个或多个字符串来返回一个字符串。以下查询将展示使用此字符串函数的多种方法。
提示:请参考 Concat 函数来理解常规的连接。
DECLARE @Str1 varchar(50),
@Str2 varchar(50)
SET @Str1 = 'Learn'
SET @Str2 = 'SQL Server'
SELECT CONCAT_WS(' ', @Str1, @Str2) AS 'ConcatText'
SELECT CONCAT_WS(',', @Str1, @Str2) AS 'ConcatText'
--Concating four String using comma
SELECT CONCAT_WS(' , ', 'Learn', 'SQL Server','at', 'Tutorial Gateway') AS 'ConcatText'
SELECT CONCAT_WS(' HI ', 'Learn', 'SQL Server','at', 'Tutorial Gateway') AS 'ConcatText'

在此带分隔符的字符串连接示例中,下面的语句使用空格连接 str1 和 str2。我们还使用了 SQL Server 中的 别名 (ALIAS) 列为其指定了新名称。
SELECT CONCAT_WS(' ', @Str1, @Str2) AS 'ConcatText'
CONCAT_WS 函数在表列上应用
在此示例中,我们将组合 Employee 表中的 First name、Last Name 和 yearly Income 列,以及文本 = ‘is earning’。
在这里,我们使用‘ * ’在每个列之间插入*。如果你想要逗号或其他内容,请将*替换为逗号。
SELECT [FirstName]
,[LastName]
,[Education]
,[Occupation]
,CONCAT_WS(
' * ', [FirstName], [LastName],'is earning', [YearlyIncome]
) AS [Description]
FROM [Employee]
