STRING_AGG 不是可识别的内置函数名称

Posted

技术标签:

【中文标题】STRING_AGG 不是可识别的内置函数名称【英文标题】:STRING_AGG is not a recognized built-in function name 【发布时间】:2017-04-16 19:48:36 【问题描述】:

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

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

我已经安装了 SQL Server 2016 和 SP1。还有什么我需要做的。这是我正在尝试使用的功能。 String Agg

【问题讨论】:

当您需要在“STRING_ADD”之前的 SQL Server 版本中将列表聚合为字符串时,请查看FOR XMLFOR JSON 语句,它们可以放在子查询。它们不提供确切的功能,但仍然是强大的工具。 【参考方案1】:

您可能为各种 SQL 版本安装了多个 SQL 服务器实例。 转到服务并为新安装的 SQL Server 版本实例启动服务。

然后将该实例与您的 SQL Server 管理工作室连接。

【讨论】:

【参考方案2】:

STRING_AGG 没有在SQL SERVER 2016 中引入。

SQL SERVER vNext中介绍。在您提供的 MSDN link 中提到 此主题适用于:SQL Server(以 vNext 开头) 而不是 SQL SERVER 2016。这是一个非常需要的功能,我希望他们在未来的任何版本中添加它

如果你想知道什么是 vNext

SQL Server vNext 代表着使 SQL Server 成为 允许选择开发语言、数据类型、 在本地和云中,以及跨操作系统通过引入 SQL Server 对 Linux、基于 Linux 的 Docker 容器和 视窗。 SQL Server vNext 还包括 SQL Server 2016 服务包中添加的功能

更多信息请查看here

【讨论】:

vNext 只是开发期间的项目名称。 STRING_AGG 已于 SQL Server 2017 公开发布。

以上是关于STRING_AGG 不是可识别的内置函数名称的主要内容,如果未能解决你的问题,请参考以下文章

为啥在sql sever中使用first和last函数查询,提示‘first’'last' 不是可以识别的 内置函数名称。

SQL Server 2014 兼容级别错误

将访问代码更改为 sql server

LAG 不是公认的内置函数名称

SQL-server'WEEKDAY'不是公认的内置函数名称[关闭]

如何在 SQL Server 2012 中使用 TRUNC 函数,因为我得到 'TRUNC' 不是一个公认的内置函数名称。'?