我知道STRING_AGG
是在兼容级别 140 的 SQL Server 2017 中引入的。
预期的行为是在 2016 或更低版本上运行时收到错误消息“string_agg”不是可识别的内置函数。
在本地 SQL Server (2016) 上运行时出错。但是,即使在将兼容性级别降低到 130 甚至 110 也没有给出任何错误之后,当我在 Azure SQL 上运行时,它也可以正常执行。
Azure SQL 中的兼容性级别行为是否发生了变化?像,新旧语法/代码/功能都有效吗?
我知道STRING_AGG
是在兼容级别 140 的 SQL Server 2017 中引入的。
预期的行为是在 2016 或更低版本上运行时收到错误消息“string_agg”不是可识别的内置函数。
在本地 SQL Server (2016) 上运行时出错。但是,即使在将兼容性级别降低到 130 甚至 110 也没有给出任何错误之后,当我在 Azure SQL 上运行时,它也可以正常执行。
Azure SQL 中的兼容性级别行为是否发生了变化?像,新旧语法/代码/功能都有效吗?
此行为记录在备注部分的最后一行:
STRING_AGG 可用于任何兼容级别。
这意味着,如果您运行的 SQL Server 版本支持string_agg
-
无论设置为您正在使用的特定数据库的兼容性级别如何,string_agg
内置功能都将起作用。