MSSQL实现多行数据拼接的简单方法(mssql 多行拼接)

  在日常开发中,有时候我们会需要将多行数据拼接起来,来满足不同的业务需求,比如需要记录:一个学生有多个成绩等等,下面就介绍一种使用SQL查询就可以实现这一要求的简单方法,以MSSQL为例,该方法分为两个步骤:

**第一步:在数据库中查询出要拼接的多行数据**

  使用相关的查询语句,从数据库里取出多条数据,下面的实例使用的是 Select 语句,这里仅作演示,在实际开发中要和实际情况灵活结合:

“`sql

SELECT

Field1, Field2, Field3,

FROM

Table

WHERE

标准化的条件

  以上的查询语句,将会从 Table 表中查询出满足标准化条件的多行记录,返回指定字段数据,如:
| Field1 | Field2 | Field3 |
| ------ | ------ | ------ |
| 1 | a | 'string1'|
| 2 | b | 'string2'|
**第二步:使用 T-SQL 拼接多行数据**

  拼接多行数据的简单方法,实际上是使用 STUFF 函数,该函数可以实现将多行数据以指定的字符进行拼接,其语法如下:

```sql
STUFF(String1, Start, length, String2)

  其中 String1 为要拼接的原字符串, Start 为开始位置,Length 为取出字符长度,String2 为拼接字符。

  结合上一步查询出来的结果,拼接字符串的语句可以对应为:

“`sql

SELECT

STUFF((SELECT

‘,’ + Field3

FROM

Table

WHERE

标准化的条件

FOR XML PATH(”)

),1,1,”)


  以上语句的执行结果如下:'string1','string2' 。通过使用STUFF函数,我们就可以将多行数据拼接起来,实现传统用SQL语句写死的数据拼接功能。

数据运维技术 » MSSQL实现多行数据拼接的简单方法(mssql 多行拼接)