Я пытаюсь преобразовать INT
, но возникла проблема с преобразованием.
Преобразование не удалось при преобразовании значения nvarchar
'245428,246425' в тип данных int
.
Используемый мной запрос:
SELECT STUFF
(
(
SELECT DISTINCT ',' + CONVERT(VARCHAR(20), NumField)
FROM Table A
WHERE ID = 218554
FOR XML PATH('')
) ,1,1,''
)
Я использую это как подзапрос в большой таблице, например:
SELECT
Field1,
Field2,
CASE WHEN criteria = '1'
THEN (SELECT STUFF(
(
SELECT DISTINCT ',' + CONVERT(VARCHAR(20), NumField)
FROM Table A
WHERE ID = 218554
FOR XML PATH('')
) ,1,1,''
))
END
FROM
Table B
Запрос STUFF
работает нормально, когда он выполняется сам по себе, но когда я запускаю его в полном запросе, возникает ошибка преобразования.