妙用MSSQL将多行字符串合并为一行(mssql多行字符合并)
数据库的应用非常广泛,即使是轻量级的MSSQL也能实现很多复杂的操作,如将多行字符串合并为一行。
下面有一行表格customer下有两列,分别是id和name:
| id | name |
| :—: | :—: |
| 1 |lili |
| 2 |andy |
| 3 |bob |
将它们增加到一个字符串并使用逗号隔开,即name=“ lili,andy,bob”,可以使用MSSQL字符串函数STUFF来完成。
具体使用步骤如下:
1.使用SELECT语句查询customer表中name字段的所有值,并使用逗号隔开
“`sql
SELECT
STUFF (( SELECT ‘,’ + [Name]
FROM [Customer] FOR XML PATH(”)),1,1,”) as Names
FROM [Customer]
2.将查询结果添加到一个变量中,并将变量的值赋值给name:
```sqlDECLARE @Names VARCHAR(MAX)
SELECT @Names = STUFF (( SELECT ',' + [Name] FROM [Customer] FOR XML PATH('')),1,1,'')
SELECT @Names As Names
以上只是MSSQL Merge多行字符串的一个例子,MSSQL中还有许多字符串函数来实现更多的操作,例如联合,拆分,替换,重复等,大大提高了数据库操作效率,灵活运用,节省时间成本。