select count(*)
from t
where datediff(year,CONVERT(datetime,case when len(idcard)=15 then '19'+substring(idcard,7,6) else substring(idcard,7,8) end),GETDATE())>55
select count(*)
from t
where datediff(year,CONVERT(datetime,case when len(idcard)=15 then '19'+substring(idcard,7,6) else substring(idcard,7,8) end),GETDATE())>55