首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个时间比较有关问题,为什么不论系统时间在哪个区段,结果总为真

2012-01-20 
请教一个时间比较问题,为什么不论系统时间在哪个区段,结果总为真?IF((Convert(varchar(8),getdate(),108)b

请教一个时间比较问题,为什么不论系统时间在哪个区段,结果总为真?
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 '改小一点 ,就可以测试了

热点排行