如何在 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),'');
我在 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),'');