在SQL Server中连接不同的列值

时间:2015-08-29 11:53:22

标签: sql-server sql-server-2008 sql-function

我正在尝试连接多个列并用逗号分隔它,如下所示:

Column
------
abc
bcd
bgd
abc

预期输出:abc,bcd,bgd

我正在使用此代码:

CREATE FUNCTION concatinate(@PK uniqueidentifier)
RETURNS varchar(max)
AS 
BEGIN
    DECLARE @result varchar(max)

    SELECT @result = ISNULL(@result + ', ', '') + Column
    FROM table

我得到的结果是

abc,bcd,bgd,abc

我无法仅选择不同的值。请指导。

1 个答案:

答案 0 :(得分:3)

假设你的表名是tb,那么你的sql查询将是:

 $ printf 'foo\bbar\n' | ./a.out
 foo\bbar

通过这个你将得到独特的价值观。 但最后你会额外逗号',' 你可以通过字符串函数删除它。 希望这有效