SSMS
 sql >> Base de Dados >  >> Database Tools >> SSMS

Converter lista varchar para int no Sql Server


Bem, no servidor de produção, eu escreveria alguma função com valor de tabela para dividir listas, mas se você precisar de uma consulta ad-hoc rápida, esse truque xml pode 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

demonstração do violino sql