30

I've downloaded and installed SQL Server 2016. When I attempted to use the STRING_AGG function I receive this error. Here is my code:

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

I've installed SQL Server 2016 and SP1. Is there anything else I need to do. Here is the feature I am trying to use. String Agg

Mohammad Yusuf
  • 16,554
  • 10
  • 50
  • 78
Luke101
  • 63,072
  • 85
  • 231
  • 359
  • 2
    When you need to aggregate lists to strings in pre-"STRING_ADD" SQL Server versions, check out the `FOR XML` or `FOR JSON` statements, which can be put on **subqueries**. They do not provide the exact functionality, put are still powerful tools. – Jørgen Tvedt Mar 05 '18 at 06:07

3 Answers3

51

STRING_AGG is not introduced in SQL SERVER 2016.

It is introduced in SQL SERVER 2017. In the MSDN link you have provided it is mentioned THIS TOPIC APPLIES TO : SQL Server 2017 not SQL SERVER 2016.

At the time of the question, this version was known by the code name "vNext", described as:

SQL Server vNext represents a major step towards making SQL Server a platform that enables choices of development languages, data types, on-premises and in the cloud, and across operating systems by bringing the power of SQL Server to Linux, Linux-based Docker containers, and Windows. SQL Server vNext also includes the features added in SQL Server 2016 service packs

IMSoP
  • 89,526
  • 13
  • 117
  • 169
Pரதீப்
  • 91,748
  • 19
  • 131
  • 172
2

Please refer to comma delimited list as a single string, T-SQL. There are instructions how to use STUFF function to construct such a list.

JarmoP
  • 331
  • 3
  • 3
0

You might have multiple SQL server instances installed for various SQL versions. Go to the Services and start the service for newly installed SQL server version instance.

Then connect that instance with your SQL server management studio.

Stephen Rauch
  • 47,830
  • 31
  • 106
  • 135