首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

为啥又是大于,又是小于的,不前后矛盾吗

2013-07-25 
为何又是大于,又是小于的,不前后矛盾吗?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毫秒大的,前后就差了一天了。
[解决办法]
引用:
一个是07号前的记录,一个是07后的记录,怎么矛盾了。

人家是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'";
[解决办法]

那这么这么写的了....
SDate='2013-07-07'

[解决办法]
引用:

那这么这么写的了....
SDate='2013-07-07'

是  SDate='2013-07-07 00:00:00.000'
就是完全整点的意思吧

热点排行