Comment split une colonne en plusieurs valeurs

Tableau 1

Value (Always 3 Digit) 100x200x300 200x400x500 ... ... 

Je veux faire 3 colonne de la colonne de valeur

Production attendue

 val1 val2 val3 100 200 300 200 400 500 ... ... 

Besoin d'aide pour une requête

 SELECT SUBSTRING([VALUE],1,3) AS val1, SUBSTRING([VALUE],5,3) AS val2, SUBSTRING([VALUE],9,3) AS val3 FROM TABLE1 

Cela exploite PARSENAME plutôt que SUBSTRING.

 SELECT PARSENAME(Value2, 3) AS val1, PARSENAME(Value2, 2) AS val2, PARSENAME(Value2, 1) AS val3 FROM ( SELECT REPLACE(Value, 'x', '.') AS Value2 FROM MyTable ) T; 

Ce code

  • permet différentes longueurs de valeur de composant
  • suppose que x est toujours le séparateur
  • suppose toujours 3 composants