sql >> Databáze >  >> RDS >> Sqlserver

Rozdělit řetězec oddělený čárkou a vložit do tabulky (int)

K tomu je lepší použít XML,

Declare @Var nvarchar(MAX)

Set @Var ='188,189,190,191,192,193,194'

DECLARE @XML AS XML

DECLARE @Delimiter AS CHAR(1) =','

SET @XML = CAST(('<X>'+REPLACE(@Var,@Delimiter ,'</X><X>')+'</X>') AS XML)

DECLARE @temp TABLE (ID INT)

INSERT INTO @temp

SELECT N.value('.', 'INT') AS ID FROM @XML.nodes('X') AS T(N)

SELECT * FROM @temp


  1. Co je to vztah typu one-to-one v databázi?

  2. Načítání komentářů z PostgreSQL DB

  3. Poddotaz Oracle nevidí proměnnou z vnějšího bloku o 2 úrovně výše

  4. Přehled programování na straně serveru v PostgreSQL