【发布时间】:2016-07-10 03:39:48
【问题描述】:
我正在尝试找出以下查询的结果,即如何将所有列连接成一个带有逗号分隔值的字符串。值的数量可以是动态的。
SELECT 'Sc4','Sc5','Sc8','Sc7','Sc2'
我希望结果如下:
Sc4,Sc5,Sc8,Sc7,Sc2
我尝试过使用东西,但确实设法连接字符串但无法在其间插入逗号。
以下是我尝试过的
SELECT Stuff((SELECT 'Sc4','Sc5','Sc8','Sc7','Sc2' FOR XML PATH('')), 2, 0, '');
更新
我想改一下我的问题,有什么办法可以将下面显示的输出转换为 csv
【问题讨论】:
-
你可能应该在你的应用程序中这样做,数据库不适合这种事情。
-
好吧,如果这是一个选项,我会喜欢的。由于一些限制,我必须在 sql 中执行此操作。 @安迪
-
很公平,但它会对性能产生负面影响,所以要注意。
-
我们很乐意提供帮助,但事实上,这没有多大意义。一个生成随机 sql 的应用程序——它去哪儿了?您是否在存储过程中收到 select 语句?如果您无法编辑正在运行的应用程序,您实际上是如何执行 sql 的?
标签: sql sql-server sql-server-2008