Yes you can.DECLARE @Sample TABLE ( ID INT NOT NULL, Data VARCHAR(MAX) NOT NULL )INSERT @SampleSELECT 3, 'PriceServiceRelationship' UNION ALLSELECT 2, 'PriceService' UNION ALLSELECT 1, 'Price' UNION ALLSELECT 0, ''-- Peso 1SELECT s.ID, SUBSTRING(s.Data, p1.FromPos, 1 + p1.ToPos - p1.FromPos) AS Option1, SUBSTRING(s.Data, p2.FromPos, 1 + p2.ToPos - p2.FromPos) AS Option2, SUBSTRING(s.Data, p3.FromPos, 1 + p3.ToPos - p3.FromPos) AS Option3FROM @Sample AS sOUTER APPLY ( SELECT 1, CHARINDEX('', s.Data + '', 1) - 1 WHERE LEN(s.Data) > 0 ) AS p1(FromPos, ToPos)OUTER APPLY ( SELECT p1.ToPos + 2, CHARINDEX('', s.Data + '', p1.ToPos + 2) - 1 WHERE LEN(s.Data) > p1.ToPos ) AS p2(FromPos, ToPos)OUTER APPLY ( SELECT p2.ToPos + 2, CHARINDEX('', s.Data + '', p2.ToPos + 2) - 1 WHERE LEN(s.Data) > p2.ToPos ) AS p3(FromPos, ToPos)-- Peso 2SELECT ID, NULLIF(xmlData.value('x[1]', 'VARCHAR(MAX)'), '') AS Option1, xmlData.value('x[2]', 'VARCHAR(MAX)') AS Option2, xmlData.value('x[3]', 'VARCHAR(MAX)') AS Option3FROM ( SELECT ID, CAST('<x>' + REPLACE(Data, '', '</x><x>') + '</x>' AS XML) AS xmlData FROM @Sample ) AS d
N 56°04'39.26"E 12°55'05.63"