为何又是大于,又是小于的,不前后矛盾吗?String sqlselect * from Order where SDate2013-07-07 and
为何又是大于,又是小于的,不前后矛盾吗?
String sql="select * from Order where SDate>='2013-07-07' and ShippingDate<='2013-07-07'";
请问这是何意?为何又是大于,又是小于的,不前后矛盾吗? [解决办法] 如果是同一个字段,既大于等于 and 小于等于 应该是个时间段呀? 如果是同一个时间,直接写等于就行了.
>=7 and <=7 只有7才成立呀? [解决办法] 应该是时间类型不对,感觉应该是 SDate>='2013-07-07 00:00' and SDate<'2013-07-08 23:59 ' [解决办法] MSSQL里,datetime通常应该是像“2013-07-07 16:00:00.000”这样的格式。你提供的代码里,SDate>='2013-07-07'就表示只考虑年月日,不考虑时分秒,那么只要是比2013年7月6日23时59分59秒59毫秒大的,都满足条件;如果你不用>=,只用>,那么就是比2013年7月7日23时59分59秒59毫秒大的,前后就差了一天了。 [解决办法]
人家是and 不是or好吧。 楼主应该把整个题目说明完整,如果sdate是datetime类型,则字符串'2013-07-07'会自动加上0点的时间,变为 '2013-07-07 00:00:00.000' [解决办法] String sql="select * from Order where SDate>='2013-07-07' and SDate<='2013-07-07'"; 即为2013-07-07这天的数据,建议用下面的: String sql="select * from Order where convert(varchar(10),SDate,120)='2013-07-07'"; [解决办法]