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

Rekurencyjny SQL do podziału CSV na wiersze tabeli

Ten będzie działał z pustymi ciągami

DECLARE @InputString VARCHAR(1000)
    SELECT @InputString = 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,,1'

    SELECT SUBSTRING(',' + @InputString + ',', Number + 1,
    CHARINDEX(',', ',' + @InputString + ',', Number + 1) - Number -1)AS VALUE
    FROM master..spt_values
    WHERE type = 'p'
    AND Number <= LEN(',' + @InputString + ',') - 1
    AND SUBSTRING(',' + @InputString + ',', Number, 1) = ','
    GO

Spójrz również na komentarze tutaj:Sciąg podziału w SQL Server 2005+ CLR vs. T-SQL dla innych pomysłów



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TSQL DateDiff zwraca liczbę dni z 2 miejscami po przecinku

  2. SQL nie wstawi wartości null za pomocą BULK INSERT

  3. Instancja SQL Server 2008

  4. Instrukcja usuwania SQL Server:jak usunąć jeden lub wiele wierszy z tabeli

  5. Jak wykonać kwerendę przekazującą UPDATE w programie SQL Server