SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

Convertir la liste varchar en int dans Sql Server

Eh bien, sur le serveur de production, j'écrirais une fonction de table pour diviser les listes, mais si vous avez besoin d'une requête ad hoc rapide, cette astuce xml pourrait fonctionner

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

démo de violon SQL