请教一个时间比较问题,为什么不论系统时间在哪个区段,结果总为真?
IF((   Convert(varchar(8),getdate()   ,108)   between    '   05:30:00 '   and    '23:59:59 ')    
 AND   (   Convert(varchar(8),DATEADD(DAY,1,getdate()),108)   between    '   05:30:00 '   and    '23:59:59 ')) 
 print    'YES ' 
 ELSE 
 PRINT    'NO '   
 不论系统时间在哪个区段,结果总为真
------解决方案--------------------(( Convert(varchar(8),getdate() ,108) between  ' 05:30:00 ' and  '23:59:59 ') 取出来是系统当天时间部分. 
 Convert(varchar(8),DATEADD(DAY,1,getdate()),108)是当天后面一天的时间的相同时刻的时间部分. 
 这样判断,基本上意义不是很大`,条件一个就够了. 
 再说也不是结果总为真,如果楼主有兴趣可以把 '23:59:59 '改小一点 ,就可以测试了