Spójrz na tę funkcję. Zrobiłem podobne sztuczki, aby dzielić i transponować dane w Oracle. Przeprowadź pętlę danych, wstawiając zdekodowane wartości do tabeli tymczasowej. Konwencja polega na tym, że MS pozwoli ci to zrobić w locie, podczas gdy Oracle wymaga wyraźnej tabeli tymczasowej.
Funkcja podziału MS SQL
Lepsza funkcja podziału
Edytuj według autora: Działało to świetnie. Ostateczny kod wyglądał tak (po utworzeniu funkcji split):
select pv.productid, colortable.items as color
from product p
cross apply split(p.color, ',') as colortable