declare @DOB date = '20080229', @CurDate date = '20130228';select @DOB as DateOfBirth, @CurDate as CurrentDate, datediff(yy, @DOB, @CurDate) - case when dateadd(yy, -datediff(yy, @DOB, @CurDate), @CurDate) < @DOB then 1 else 0 end as TurnsYearOlderFirstOfMarch, datediff(yy, @DOB, @CurDate) - case when dateadd(yy, datediff(yy, @DOB, @CurDate), @DOB) <= @CurDate then 0 else 1 end as TurnsYearOlderLastOfFebruary;set @CurDate = '20130301';select @DOB as DateOfBirth, @CurDate as CurrentDate, datediff(yy, @DOB, @CurDate) - case when dateadd(yy, -datediff(yy, @DOB, @CurDate), @CurDate) < @DOB then 1 else 0 end as TurnsYearOlderFirstOfMarch, datediff(yy, @DOB, @CurDate) - case when dateadd(yy, datediff(yy, @DOB, @CurDate), @DOB) <= @CurDate then 0 else 1 end as TurnsYearOlderLastOfFebruary;set @CurDate = '20130227';select @DOB as DateOfBirth, @CurDate as CurrentDate, datediff(yy, @DOB, @CurDate) - case when dateadd(yy, -datediff(yy, @DOB, @CurDate), @CurDate) < @DOB then 1 else 0 end as TurnsYearOlderFirstOfMarch, datediff(yy, @DOB, @CurDate) - case when dateadd(yy, datediff(yy, @DOB, @CurDate), @DOB) <= @CurDate then 0 else 1 end as TurnsYearOlderLastOfFebruary;