SSMS
 sql >> база данни >  >> Database Tools >> SSMS

Преобразувайте списъка varchar в int в Sql Server

Е, на производствения сървър бих написал някаква функция с таблица за разделяне на списъци, но ако имате нужда от бърза ad-hoc заявка, този xml трик може да работи

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 демонстрация



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL Server:Как да прикача/поправя отделена/повредена база данни?

  2. Какво представлява прекъсната / пунктирана линия на връзката в SQL Management Studio - Диаграма на базата данни

  3. Вмъкване на данни във временна таблица със заявка

  4. SQL Server Management Studio:Отворете таблицата за редактиране чрез клавишна комбинация

  5. База данни по подразбиране на SQL Server, когато заявка - главен