Il cast semplice come data potrebbe funzionare
Select cast(cast(20161011 as varchar(8)) as date)
Resi
2016-10-11
Se i tuoi dati sono sospetti, puoi anche utilizzare Try_Convert()
Select Try_Convert(date,cast(2610 as varchar(8)))
Resi
NULL