日期:2014-05-18  浏览次数:20660 次

>=方式进行时间查询的奇怪问题
有一系统,最近查询出现奇怪问题,被查询字段为长度为8的datetime类型,采用这样的方式查询:>='06 2 2012 12:00:00:000AM',查询出来的结果很奇怪,只能查询出部分记录,比如这个记录2011-06-26 18:09:03.000
很显然应该大于6月2号,但是却查不出来!同类型的还有很多记录差不出来,实在晕了,因为这个系统是已经做好的,不能修改程序,只能改存储过程,请大家帮忙看一下问题在哪里?

------解决方案--------------------
看好第一个是2012年 第二个是2011年
------解决方案--------------------
看好06 2 2012 12:00:00:000AM 是2012年 2011-06-26 18:09:03.000是2011年
------解决方案--------------------
SQL code

你这个结果肯定不能出来啊,'06 2 2012 12:00:00:000AM'>'2011-06-26 18:09:03.000'
你还得考虑年份。
一个是2011,一个是2012,当然不满足条件

------解决方案--------------------
你给入的是2012年的日期,并且要大于这个日期,你想要的又是2011年的,怎么可能找得出来呢?