STRING_AGG不是一个被识别的内置函数名。

34

我已经下载并安装了SQL Server 2016。当我尝试使用STRING_AGG函数时,出现了这个错误。这是我的代码:

SELECT STRING_AGG(cast(FieldNumber AS VARCHAR(100)), ',')
FROM Fields

我已经安装了SQL Server 2016和SP1。是否还需要进行其他操作?我正在尝试使用以下功能:String Agg


2
当你需要在早期的“STRING_ADD” SQL Server版本中将列表聚合到字符串中时,请查看FOR XMLFOR JSON语句,它们可以放置在子查询中。它们虽然不能提供完全相同的功能,但仍然是强大的工具。 - Jørgen Tvedt
3个回答

52

STRING_AGGSQL SERVER 2016 中未引入。

它在 SQL SERVER 2017 中引入。您提供的 MSDN 链接中提到此主题适用于: SQL Server 2017而不是SQL SERVER 2016

在提问时,此版本被称为“vNext”,并描述为:

SQL Server vNext 是使 SQL Server 成为一个平台的重要一步,它可以通过将 SQL Server 的功能带到 Linux、基于 Linux 的 Docker 容器和 Windows 上,实现对开发语言、数据类型、本地和云端以及操作系统的选择。SQL Server vNext 还包括添加到 SQL Server 2016 服务包中的功能。


vNext 在开发过程中只是一个项目名称。STRING_AGGSQL Server 2017 开始公开提供。 - Crayons
1
叹气......... - Michael

3

0

你可能安装了多个SQL服务器实例,用于不同的SQL版本。

前往服务并启动新安装的SQL服务器版本实例的服务。

然后使用SQL服务器管理工具连接该实例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接