2

有没有办法在 Azure SQL 数据仓库中聚合字符串,类似于string_aggSQL Server 中的函数?

我有带有要连接成单个字符串的字符串的记录。

SELECT string_agg(string_col, ',') FROM table1

https://docs.microsoft.com/en-us/sql/t-sql/functions/string-agg-transact-sql

4

2 回答 2

2

2019 年 1 月更新:截至 2019 年 1 月STRING_SPLIT,在 SQL 数据仓库中可用,请参见此处

2019 年 7 月更新:截至 2019 年 7 月STRING_AGG,在 SQL 数据仓库中可用,请参见此处

Azure SQL 数据仓库是一个 MPP 系统,旨在保存数十亿条记录和 TB 级数据,因此作为第一个调用端口,您应该强烈考虑它是否是进行字符串操作的正确位置。根据您运行的 DWU,它也有点贵。阅读这篇反模式文章。

Azure SQL 数据仓库工作负载模式和反模式 https://blogs.msdn.microsoft.com/sqlcat/2017/09/05/azure-sql-data-warehouse-workload-patterns-and-anti-patterns/

如果您确实需要在仓库中执行此操作,那么我确实使用过程方法专门针对 Azure SQL 数据仓库做了一个最近的示例:

Azure SQL 数据仓库是否可以拆分字符串?

于 2017-11-17T11:30:36.227 回答
0

实现此目的的另一种方法PIVOT是使用 Azure SQL 数据仓库中提供的功能。在这篇TechNet 文章中对此进行了详细描述:Concatenating Columns over Rows in APS/PDW AU4 using T-SQL

于 2019-03-06T15:35:15.533 回答