У меня есть таблица, как показано ниже.Столбец "newDataIDs" представляет собой список с разделителями-запятыми, но сам столбец имеет формат varchar.Как отсортировать значения в столбце в порядке возрастания и вернуть его обратно в столбец в формате varchar?
(т. Е. Для 2-й строки таблицы ожидаемое значение для newDataID: «WVR0000015, WVR0000019, WVR0000020»))
Редактировать: Благодаря @ METAL, я получил ответ.Я включил его ответ в свое дело следующим образом:
update [db].[dbo].[mytable] set [NewDataIDs] = t.ids
from (
SELECT STUFF((
SELECT ',' +ltrim(Split.a.value('.', 'NVARCHAR(MAX)')) sorted
FROM
(
SELECT CAST('<t>'+REPLACE([NewDataIDs], ',', '</t><t>')+'</t>' AS XML) AS String
) AS A
CROSS APPLY String.nodes('/t') AS Split(a)
ORDER BY sorted asc
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') as ids
from [db].[dbo].[mytable]
) t