STRING_AGG 兼容级别 < 140
STRING_AGG working on compatibility level < 140
我了解 STRING_AGG
是在兼容级别 140 的 SQL Server 2017 中引入的。
预期的行为是在 2016 或更低版本上 运行 时收到错误消息 'string_agg' is not a recognized built-in function。
当我在本地 SQL 服务器 (2016) 上 运行 时出错。但是,当我 运行 在 Azure SQL 上时,即使将兼容级别降低到 130 甚至 110 也没有给出任何错误,它仍然可以正常执行。
Azure SQL 中的 compatibility_level 行为是否发生了变化?比如,新旧 syntax/code/features 都可以吗?
此行为 documented 在备注部分的最后一行:
STRING_AGG is available in any compatibility level.
这意味着如果您是 运行 支持 string_agg
-
的 SQL 服务器版本
- SQL 服务器 2017(或更高版本)
- Azure SQL 数据库
- Azure 突触分析(SQL DW)
无论为您正在使用的特定数据库设置的兼容性级别如何,string_agg
内置函数都可以工作。
我了解 STRING_AGG
是在兼容级别 140 的 SQL Server 2017 中引入的。
预期的行为是在 2016 或更低版本上 运行 时收到错误消息 'string_agg' is not a recognized built-in function。
当我在本地 SQL 服务器 (2016) 上 运行 时出错。但是,当我 运行 在 Azure SQL 上时,即使将兼容级别降低到 130 甚至 110 也没有给出任何错误,它仍然可以正常执行。
Azure SQL 中的 compatibility_level 行为是否发生了变化?比如,新旧 syntax/code/features 都可以吗?
此行为 documented 在备注部分的最后一行:
STRING_AGG is available in any compatibility level.
这意味着如果您是 运行 支持 string_agg
-
- SQL 服务器 2017(或更高版本)
- Azure SQL 数据库
- Azure 突触分析(SQL DW)
无论为您正在使用的特定数据库设置的兼容性级别如何,string_agg
内置函数都可以工作。