在SQL Server中使用逗号分割字符串

Ume*_*esh 0 t-sql sql-server sql-server-2008 sql-server-2012

请帮助如何用逗号分隔字符串中的单词

例如:for 'abcdef'

输出: 'a,b,c,d,e,f'

Gio*_*sos 5

如果要对tsql变量进行操作:

DECLARE @str VARCHAR(40) = 'abcdef'
Run Code Online (Sandbox Code Playgroud)

您可以使用以下spt_values用于创建计数器的代码和 STUFF,在字符串中注入字符:

SELECT @str = STUFF(@str, Number * 2, 0, ',')
FROM [master].[dbo].[spt_values]
WHERE Type = 'P' AND
      Number BETWEEN 1 AND LEN(@str) - 1
Run Code Online (Sandbox Code Playgroud)

执行完上面之后,@str就是a,b,c,d,e,f.