Here is one way:DECLARE @T TABLE (Filename VARCHAR(100))INSERT @T (Filename)VALUES('p_22124_R_01.jpg'),('p_22124_R_02.jpg'),('p_22138_H_01.jpg'),('p_22138_H_02.jpg'),('p_22150_B_01.jpg'),('p_22150_B_02.jpg'),('p_22151-1_A_01.jpg'),('p_22151-1_A_02.jpg'),('p_22151-1_A_03.jpg')SELECT FName , PARSENAME(FName, 3) AS Item , PARSENAME(FName, 2) AS Revision , PARSENAME(FName, 1) AS NumberFROM( SELECT REPLACE(REPLACE(REPLACE(Filename, '_', '.'), '.jpg', ''), 'p.', '') AS FName FROM @T) AS T