Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Podziel ciąg znaków oddzielonych przecinkami i wstaw do tabeli (int)

Lepiej użyj do tego 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie dat zapisanych jako varchar

  2. Jak przechwytywać i analizować zdarzenia SQL Server

  3. Uzyskaj listę obsługiwanych stref czasowych w SQL Server (T-SQL)

  4. Co to jest SQL Server Management Studio (SSMS)?

  5. JSON_QUERY() vs JSON_VALUE() w SQL Server:jaka jest różnica?