SSMS
 sql >> Datenbank >  >> Database Tools >> SSMS

Konvertieren Sie die Varchar-Liste in Sql Server in Int

Nun, auf dem Produktionsserver würde ich eine Tabellenwertfunktion zum Aufteilen von Listen schreiben, aber wenn Sie eine schnelle Ad-hoc-Abfrage benötigen, könnte dieser XML-Trick funktionieren

declare @listOfPageIds varchar(50), @data xml
declare @temp table(id int)

select @listofPageIds = '2, 3, 4, 5, 6, 7, 14, 15';
select @data = '<t>' + replace(@listofPageIds, ', ', '</t><t>') + '</t>'

insert into @temp
select
    t.c.value('.', 'int') as id
from @data.nodes('t') as t(c)

select * from @temp

SQL-Fiddle-Demo