Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come si espandono i valori separati da virgole in righe separate utilizzando SQL Server 2005?

Dai un'occhiata a questa funzione. Ho fatto trucchi simili per dividere e trasporre i dati in Oracle. Ripeti i dati inserendo i valori decodificati in una tabella temporanea. La cosa del convento è che MS ti permetterà di farlo al volo, mentre Oracle richiede una tabella temporanea esplicita.

Funzione di suddivisione MS SQL
Migliore funzione di suddivisione

Modifica per autore: Questo ha funzionato alla grande. Il codice finale era simile al seguente (dopo aver creato la funzione di divisione):

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