有没有办法在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
答案 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中的行上方连接列