Du kan använda parsename om det alltid är 4 uppsättningar data.
Jag ersatte helt enkelt - med en . och låt parsename göra resten.
SELECT PARSENAME(Replace(Col,'-','.'), 1) AS 'Object Name' ID,
PARSENAME(Replace(Col,'-','.'), 2) AS 'Age',
PARSENAME(Replace(Col,'-','.'), 3) AS 'EmpID',
PARSENAME(Replace(Col,'-','.'), 4) AS 'Day'
FROM YOURTABLE