sql - 接受列值并将其转换为逗号分隔值的函数
问题描述
我想要一个 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
.
解决方案
在某处使用ISNULL(field,' ')
以避免NULL
价值行为。
推荐阅读
- php - 用 symfony 添加收藏夹
- pytorch - Pytorch DataLoader 迭代顺序稳定吗?
- php - 为什么我的 PHP 函数代码出现未定义索引错误
- mapbox - 矢量瓷砖,mapbox style.json
- macos - 无法为 Mac 安装 VS Code
- iframe - 从 Google 表格在 iFrame 中启动时,Google 表单无法提交
- angular - ng build 后的国家/地区标志
- javascript - Babylonjs 将脚本附加到元素
- verilog - 系统verilog中的if else和case
- mysql - MySQL Dense_Rank() 和 Max() 函数不在同一语句中工作