sql >> Databasteknik >  >> RDS >> Sqlserver

Hur expanderar jag kommaseparerade värden till separata rader med SQL Server 2005?

Ta en titt på den här funktionen. Jag har gjort liknande knep för att dela upp och överföra data i Oracle. Slinga över data genom att infoga de avkodade värdena i en temporär tabell. Grejen med kloster är att MS låter dig göra detta i farten, medan Oracle kräver en explicit temptabell.

MS SQL Split-funktion
Bättre Split-funktion

Redigera av författare: Detta fungerade utmärkt. Den slutliga koden såg ut så här (efter att ha skapat splitfunktionen):

select pv.productid, colortable.items as color
from product p 
    cross apply split(p.color, ',') as colortable


  1. Hur kopierar man från CSV-fil till PostgreSQL-tabell med rubriker i CSV-fil?

  2. LAST_DAY() Exempel – MySQL

  3. Hur konverterar jag en äldre vänster yttre kopplingssats i Oracle?

  4. Onlinemigrering från MySQL 5.6 Non-GTID till MySQL 5.7 med GTID