STRING_AGG,带有换行符

时间:2019-12-11 10:33:06

标签: sql sql-server tsql string-aggregation

DROP TABLE IF EXISTS items;
CREATE TABLE items (item varchar(20));
INSERT INTO items VALUES ('apple'),('raspberry');
SELECT STRING_AGG(item, CHAR(13)) AS item_list FROM items;

enter image description here

如何在项目之间换行?

3 个答案:

答案 0 :(得分:1)

只需将其放在字符串中:

SELECT STRING_AGG(item, '
') AS item_list
FROM items;

一个警告是“行尾”的定义取决于操作系统。因此,这将在Unix和Windows上插入不同的值。

Here是db <>小提琴。

答案 1 :(得分:1)

您的查询在我的环境中运行良好。您需要在Management Studio中启用此设置:

enter image description here

Tools > Options > Query Results > Results to Grid

这对我来说没有意义,但是他们改变了几个SSMS之前发布的默认行为。

答案 2 :(得分:0)

如果使用Management Studio查询编辑器,则“网格结果”选项将无法实现回车。切换到“文本结果”以正确查看结果集。

https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-ver15

从项目中选择STRING_AGG(item,CHAR(13))作为item_list;