Вы можете получить желаемый результат, преобразовав вашу строку в XML, а затем воспользовавшись методами XML типа, такими как VALUE
(подробнее здесь ), для извлечения необходимой информации:
DECLARE @tmp TABLE (OriginalString VARCHAR(100));
INSERT INTO @tmp
VALUES
('Bob,Smith,Male')
,('Jane,Walson,Female')
;WITH Splitted
AS (
SELECT
CAST('<x>' + REPLACE(OriginalString, ',', '</x><x>') + '</x>' AS XML) AS Parts
FROM @tmp
)
SELECT
Parts.value(N'/x[1]', 'varchar(50)') as [Name]
,Parts.value(N'/x[2]', 'varchar(50)') as [Surname]
,Parts.value(N'/x[3]', 'varchar(50)') as [Gender]
FROM Splitted;
Результаты: