sql >> Databasteknik >  >> RDS >> Sqlserver

Dela en kolumn i flera rader

Jag tror att du kan göra så här:

SELECT
    T.id, RIGHT(LEFT(T.csv,Number-1),
    CHARINDEX(',',REVERSE(LEFT(','+T.csv,Number-1))))
FROM
    master..spt_values,
    your_table T
WHERE
    Type = 'P' AND Number BETWEEN 1 AND LEN(T.csv)+1
    AND
    (SUBSTRING(T.csv,Number,1) = ',' OR SUBSTRING(T.csv,Number,1)  = '') 

Koden stals skamlöst från den här webbplatsen.



  1. Hämta lista över alla noll- och inte-nollkolumner i SQL Server-databasen - SQL Server / T-SQL självstudie del 53

  2. Hur utför man en urvalsfråga i ett DO-block?

  3. Hur förbereder man uttalande för uppdateringsfråga?

  4. INNER JOIN vs LEFT JOIN prestanda i SQL Server