SQL 查询数据后行数据合并为列

SQL 将查询后得到的多行数据中的某一列转为一列,如原查找后的结果为:

USER_NAME

张三

李四

王五

现要将其合并为:

CUSTOMER

张三,李四,王五

SQL语句如下:select STUFF((select ','+USER_NAME from tbale where USER_NAME = '' for xml path('')), 1, 1, '') CUSTOMER

其中,stuff为sql封装好的一个方法函数,用于删除指定长度的字符并在指定的起始点插入另一组字符。

语法:
STUFF ( character_expression , start , length , character_expression )

start, 是一个整形值,指定删除和插入的开始位置

length, 是一个整数,指定要删除的字符数

返回类型: 如果 character_expression 是一个支持的字符数据类型,则返回字符数据。

原文地址:https://www.cnblogs.com/yinghuanblog/p/5229550.html