生日查询的问题,查了很多资料,还是有些疑问,请大家进来指教
我要查询某一段时间内要过生日的所有员工,怎么写这个查询语句   
 我用的是邹建那本sql   server2000开发与管理应用实例上面介绍的语句: 
 select   @dt1   datetime,@dt2   datetime   
 select   @dt1= '2003-12-05 ',@dt2= '2006-02-28 ' 
 select   *   from   @t 
 where   dateadd(year,datediff(year,birthday,@dt1),birthday) 
 between   @dt1   and   @dt2 
 or   dateadd(year,datediff(year,birthday,@dt1),birthday) 
 between   @dt1   and   @dt2   
 2003-12-05到2006-02-28之间肯定是所有的人都会在这段时间内生日,但是用这种方法就不能查出出生日期为1984-10-13或者1984-5-4的记录,请问怎么改进这种方法以满足我的要求???
------解决方案--------------------declare  @t table(birthday datetime) 
 insert into @t values( '1984-07-01 ') 
 declare @dt1 datetime,@dt2 datetime   
 select @dt1= '2003-12-05 ',@dt2= '2004-02-28 ' 
 select * from @t 
 where dateadd(year,datediff(year,birthday,@dt1),birthday) 
 between @dt1 and @dt2 
 or dateadd(year,datediff(year,birthday,@dt2),birthday)  --这里改成@dt2 
 between @dt1 and @dt2
------解决方案--------------------2003-12-05到2006-02-28之间肯定是所有的人都会在这段时间内生日,但是用这种方法就不能查出出生日期为1984-10-13或者1984-5-4的记录,请问怎么改进这种方法以满足我的要求??? 
 ---------- 
 这两个出生日期的记录为什么能查出来?不在查询范围之内啊
------解决方案--------------------declare  @t table(birthday datetime) 
 insert into @t values( '1984-07-01 ') 
 declare @dt1 datetime,@dt2 datetime   
 select @dt1= '2004-07-01 ',@dt2= '2004-07-07 '   
 select * from @t 
 where dateadd(year,datediff(year,birthday,@dt1),birthday) 
 between @dt1 and @dt2 
 or dateadd(year,datediff(year,birthday,@dt2),birthday)   
 between @dt1 and @dt2   
 7月1日生日,当然不在12-05跟02-28之间