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

Converti l'elenco varchar in int in SQL Server

Bene sul server di produzione scriverei alcune funzioni con valori di tabella per dividere gli elenchi, ma se hai bisogno di una query rapida ad hoc, questo trucco xml potrebbe funzionare

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