Azure SQL数据仓库中的聚合字符串

时间:2017-11-16 18:30:55

标签: sql sql-server azure azure-sqldw sql-data-warehouse

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

我的记录包含我想要连接成单个字符串的字符串。

SELECT string_agg(string_col, ',') FROM table1

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

2 个答案:

答案 0 :(得分:2)

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数据仓库执行了一个示例:

Does Azure SQL Data Warehouse have a way to split strings?

2019年1月更新:截至2019年1月,根据here,SQL数据仓库中提供了STRING_SPLIT

答案 1 :(得分:0)

使用PIVOT函数可实现此目的的另一种方法,该函数在Azure SQL数据仓库中可用。此TechNet article中对此进行了详细说明:使用T-SQL在APS / PDW AU4中的行上方连接列