sql >> Base de Datos >  >> Database Tools >> SSMS

Convierta la lista varchar a int en Sql Server

Bueno, en el servidor de producción, escribiría alguna función con valores de tabla para dividir listas, pero si necesita una consulta ad-hoc rápida, este truco xml podría funcionar

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

demostración de sql fiddle