sql-server-2005 - 在 SQL Server 2005 中将多列作为单个逗号分隔的行返回

标签 sql-server-2005

我很好奇这是否可能。

我有一张表,或者这可能特定于任何包含数据的旧表。一个简单的 SELECT 将返回列和行作为结果集。我试图找出是否可以返回行而不是列,这些列连接在一起并以逗号分隔。因此返回了预期的行数,但只有一个 varchar 列保存所有列的逗号分隔结果,就像 CSV 文件一样。

谢谢。

[更新]

这里是我问的更详细的原因。我没有在客户端上执行此操作的选项,这是我尝试使用 SSIS 执行的任务。

场景:我有一个在 SSIS 中动态创建的表,但每次构建时列名都会更改。原始包使用 BCP 获取数据并将其放入平面文件,但由于作为作业运行时的权限,BCP 无法在所需目的地创建平面文件。我们也无法改变这一点。

另一个问题是,对于 SSIS 2005,使用平面文件目标,您必须映射来自输入源的列名,我不能这样做,因为列名不断变化。

我已经编写了一个脚本任务来从原始表中获取所有数据,然后使用流写入器写入 CSV,但我必须遍历每一行然后遍历每一列以生成由所有列。我想用 vb.net 来衡量 sql server 上这种列串联的性能,以应对令人讨厌的循环。

如果我可以让 sql 为每一行生成一个列,我可以只将一行写入文本文件,而不是遍历每一列来构建行。

最佳答案

我认为你应该试试这个

    SELECT UserName +','+ Password AS ColumnZ
FROM UserTable

关于sql-server-2005 - 在 SQL Server 2005 中将多列作为单个逗号分隔的行返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13708562/

相关文章:

SQL Server sp_ExecuteSQL 和执行计划

sql - 在 SQL Server 中将 varchar 转换为 uniqueidentifier

sql - 如何检测sql server表中的一行是否被锁定?

sql-server-2005 - 从 sql server 2005 中的现有文本文件(.txt)中读取

tsql - 如何获取第一列不为空

sql-server - 获取任何数据库的物理文件路径

sql - 如何获取具有相同 ID 的第 n 组两行

sql - 回滚完整数据库一小时

sql-server - 我怎样才能得到一个特定索引列首先出现的索引列表?

sql - 根据最大日期和分组依据更新列