📌  相关文章
📜  mssql中用逗号分隔值的行(1)

📅  最后修改于: 2023-12-03 15:17:44.701000             🧑  作者: Mango

MSSQL中用逗号分隔值的行

在MSSQL中,有时候我们需要将一组值以逗号分隔的形式保存在一行中。这可以通过将这些值连接成一个字符串来实现。

1. 连接字符串函数

MSSQL中提供了一些连接字符串的函数来实现这个功能。常用的函数有CONCAT、STRING_AGG和STUFF等。

例如,我们要将以下3个值连接为一个字符串:

'apple', 'banana', 'orange'

使用CONCAT函数可以实现:

SELECT CONCAT('apple', ',', 'banana', ',', 'orange') AS fruits;

这将返回一个字符串:

apple,banana,orange
2. 使用STRING_AGG

如果我们需要将多行数据中的某个字段以逗号分隔的形式保存在一行中,我们可以使用STRING_AGG函数。例如,以下语句将返回一个以逗号分隔的名字列表:

SELECT STRING_AGG(name, ',') AS names FROM users;
3. 使用STUFF

如果我们需要自定义分隔符,我们可以使用STUFF函数。STUFF函数可以删除字符串中的一部分,然后将另一个字符串插入其中。

例如,以下语句将返回一个以分号分隔的名字列表:

SELECT STUFF((SELECT ';' + name FROM users FOR XML PATH('')), 1, 1, '') AS names;

这将返回一个字符串:

Alice;Bob;Carol;David

以上就是MSSQL中用逗号分隔值的行的介绍,希望对你有所帮助。