读书人

时间判断有关问题

发布时间: 2013-01-19 11:41:36 作者: rapoo

时间判断问题

where ProjectBeginTime,120)>=@time1 and convert(varchar(10),ProjectEndTime,120)<=@time2

我想做个日期比较,把某个时间段的数据取出来
time1 和time2的值分别是2006-1-2 ,2010-3-2 为什么取出来的值取不2006年的记录呢
[解决办法]
你可以把@time1和@time2 转换成日期型的,这样也提高了查询性能
[解决办法]
最后以日期的格式来进行比较
不要直接使用字符串
[解决办法]
120的日期格式是2006-01-02这样,如果按照字符比较的时候会按位比较
比到月份的时候是0对比1时,1比0大,也就是@time1大,
那么时间至少要到2006-10-01也就是10月份才能正常比较月,天数也是如此
所以还是把@time1与@time2转换成datetime类型直接与ProjectBeginTime字段进行比较吧
[解决办法]
where ProjectBeginTime>=@time1 and ProjectEndTime<=@time2

读书人网 >SQL Server

热点推荐