将值放入SQL列Field中的列表中

时间:2014-06-19 14:52:03

标签: sql sql-server-2012

我希望在列字段中放置一个字符串列表。我在每个值之后使用Concat函数以及回车符。

CONCAT(column1.value,CHAR(13)+ char(10),column2.value,CHAR(13)+ char(10),column3.value3,CHAR(13)+ char(10)as [Products]

如果所有列都有值,则此工作正常。

PRODUCTS  
value1  
value2  
value3  

但是如果column1中没有值,则输出将为

PRODUCTS  
--emptyline--  
value2  
value3  

我使用case语句来检查每个值是否存在。如果不存在,我只能输出存在的值,并且不输出不存在的值的回车

case when   
    len(CAST(column1.fieldValue as varchar)) > 0 then 'value1'  
end as value1

1 个答案:

答案 0 :(得分:2)

使用+将列值与CRLF连接起来,并使用concat函数连接列。

concat(Col1+char(13)+char(10),  Col2+char(13)+char(10)) 

如果一个部分为空,则使用+连接字符串将使整个结果为null。 concat函数中的空值自动转换为空字符串。