日期:2014-05-17  浏览次数:20647 次

时间判断问题
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