Podría usar parsename si siempre son 4 conjuntos de datos.
Simplemente reemplacé el - con un . y deja que parsename haga el resto.
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