Как преобразовать целочисленный столбец в строку с разделителями-запятыми в Azure SQL - PullRequest
0 голосов
/ 17 июня 2019

Любой может помочь, пожалуйста, я хочу конвертировать столбец таблицы SQL в запятую отдельный ряд в лазурном sql Я уже пробовал этот код, но получаю сообщение об ошибке, которое не может быть преобразовано в varchar, пожалуйста, предложите

DECLARE @Country TABLE (id INT, [Name] Varchar(30) )

INSERT INTO @Country VALUES (1,'India')
INSERT INTO @Country VALUES (2,'USA')
INSERT INTO @Country VALUES (3,'Japan')
INSERT INTO @Country VALUES (4,'China')
INSERT INTO @Country VALUES (5,'Switzerland')

SELECT STUFF( -- Remove first comma
(SELECT  ', ' + ID FROM -- create comma separated values
(SELECT ID FROM @Country --Your query here
) AS T FOR XML PATH('')
)
,1,1,'') AS [Name]

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Вы можете использовать STRING_AGG:

SELECT STRING_AGG(ID, ', ') FROM @Country

db <> fiddle demo

XML +STUFF - старый способ, когда не было доступного эквивалента GROUP_CONCAT.

1 голос
/ 17 июня 2019

Вам нужно CAST целое число

SELECT  ', ' + CAST(ID as nvarchar(max)) FROM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...