读书人

请问一个时间比较有关问题为什么不论

发布时间: 2012-01-20 18:53:53 作者: rapoo

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

读书人网 >SQL Server

热点推荐