首页 > 解决方案 > 接受列值并将其转换为逗号分隔值的函数

问题描述

我想要一个 SQL 函数,它将 select 语句的结果作为参数,并为结果返回一串逗号分隔值。如果有一个NULL值,那么它应该留下一个空格并继续结果。

我尝试使用COALESCE()表达式,但这会取出NULL值并仅返回有效值。

declare @str varchar(MAX)

SELECT @str= coalesce(@str + ',', '')+ a.D8_BOOK_YEAR_END 
FROM (select D8_BOOK_YEAR_END from CUST_PRODUCT_ACCOUNTS 
WHERE CUST_PRODUCT_ID=1) a

print @str 

例如:在图像中,我需要将列传递给NAME函数,它应该将值返回为Mango, ,Apple,Grape.

结果

标签: sqlsql-servertsqlsql-server-2012

解决方案


在某处使用ISNULL(field,' ')以避免NULL价值行为。


推荐阅读