sql-server-2005 - SQL Server 列之间的逗号分隔值

标签 sql-server-2005 tsql

我想通过执行以下操作来选择列作为逗号分隔值:

select column1+','+column2+','+column3+','+coulmn4 from someTable

除非有任何列包含空值,否则我必须跳过该列添加逗号 这是SQL Server怎么做的? [所有列都是 varchar 类型,因此不需要转换]

最佳答案


Select  
  Case When Len(IsNull(Column1),'') > 0 Then Column1 + ',' Else '' End,
  Case When Len(IsNull(Column2),'') > 0 Then Column2 + ',' Else '' End,
  Case When Len(IsNull(Column3),'') > 0 Then Column3 + ',' Else '' End,
  Case When Len(IsNull(Column4),'') > 0 Then Column4 + ',' Else '' End,
  Case When Len(IsNull(ColumnN),'') > 0 Then ColumnN + ',' Else '' End
From
  SomeTable

关于sql-server-2005 - SQL Server 列之间的逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586419/

相关文章:

c# - 如何从可能为空的 SQL Server 中安全地读取字符串值?

SQL 返回子项计数不等于列值的行

将 MS SQL 2005 DB 与 Tomcat 6 一起使用时出现 Java 内存不足错误

sql - 使用SQL查询获取在多个部门工作的员 worker 数

sql-server - 在 SQL 查询中运行 .sql 文件

sql - 如何根据重复项对表列进行排名?

sql-server - 如何在 SQL Server 中使用 RANK()

.net - 如何忽略 System.Data.SqlClient.SqlException : String or binary data would be truncated. 异常

sql - 找到一个字段的值与另一字段中数据的最大值匹配

sql - 如何在 SQL Server 中仅选择每个外键的第一条记录?