1

我知道STRING_AGG是在兼容级别 140 的 SQL Server 2017 中引入的。

预期的行为是在 2016 或更低版本上运行时收到错误消息“string_agg”不是可识别的内置函数。

在本地 SQL Server (2016) 上运行时出错。但是,即使在将兼容性级别降低到 130 甚至 110 也没有给出任何错误之后,当我在 Azure SQL 上运行时,它也可以正常执行。

Azure SQL 中的兼容性级别行为是否发生了变化?像,新旧语法/代码/功能都有效吗?

4

1 回答 1

2

此行为记录在备注部分的最后一行:

STRING_AGG 可用于任何兼容级别。

这意味着,如果您运行的 SQL Server 版本支持string_agg-

  • SQL Server 2017(或更高版本)
  • Azure SQL 数据库
  • Azure 突触分析 (SQL DW)

无论设置为您正在使用的特定数据库的兼容性级别如何,string_agg内置功能都将起作用。

于 2020-03-31T08:50:29.067 回答