如何在 SQL 中附加一列?

How can I append a column in SQL?

我在 SQL Server 2012 中尝试了不同的方法来附加列。 CONCAT 合并列如下所示:catdogparrot 而我希望它位于如下列表中:

 cat
 dog
 parrot

我也尝试了 SQL 中的 +,结果相同。我看到'||'同样,但由于某种原因,它在第二个管道中显示了错误的语法。有没有办法将一列附加到新列?或者我必须从多个列中创建一个新列吗?这些列在同一个 table 中。非常感谢任何建议,谢谢!

我不确定你想做什么,但你可以尝试使用

CONCAT(' - ', `column1`, ' - ', `column2`, ' - ', ... `column999`)

最终这可以帮助您:您可以将分隔符设置为任何序列,甚至可以设置为 CHAR(13)+CHAR(10),这是一个 windows 换行符。

DECLARE @dummyTbl TABLE(animal VARCHAR(10));
INSERT INTO @dummyTbl
VALUES('cat'),('dog'),('parrots');

DECLARE @separator VARCHAR(5)= ' / ';

SELECT STUFF(
(
    SELECT @separator + animal 
    FROM @dummyTbl AS dt
    FOR XML PATH(''),TYPE
).value('.','varchar(max)'),1,LEN(@separator),'');