• Thanks for the replies. I settled on the following:

    convert(date,

    case when substring(a.IDNumber,1,2)<=substring(convert(varchar,getdate(),112),3,2) -- when ID birthdate year is less than current year

    then convert(varchar,substring(convert(varchar,getdate(),112),1,2))+substring(a.IDNumber,1,6) -- then add current Centuary

    else convert(varchar,(substring(convert(varchar,getdate(),112),1,2)-1))+substring(a.IDNumber,1,6) -- otherwise add prior Centuary

    end) as BirthDate

    This dynamically determines what century to add to the YY value based on the the YY of Getdate(). It does assume though that the dates being converted relate to the 100 years prior to getdate().