2012-10-04 48 views
0

我所遇到下列查询,但不知道是否有任何的差异,差“日期> = FROM日期和时间<= TODATE”

select * from table where date between fromdate and todate 

V/S 

select * from table where date >= fromdate and date <= todate 

如果我们正在使用第一个查询,是否包含迄今为止从&开始的日期?即2012年10月16日至2012年10月22日期间,是否包括16日和22日?

太谢谢你了。

回答

0

没有区别

两个查询会产生相同的结果

1

Yes, it includes them.
这就是为什么我避免BETWEEN。这个名字至少不明确。不同的人了解不同的事情,你的问题也表明了这一点。

例如,据我了解,之间是独家但SQL中它是包括

+0

好像在mySQL将日期设置为YYYY-MM-DD 00:00:00,当没有定义时间时,它将默认为00:00:00。我有一个日期列有数据像2012-09-10 18:10:40。当我使用以下代码时,它不包括2012-08-10和2012-09-10之间的数据select * from table。它只包含9月10日之前的数据。有没有办法改变SQL将使用2012-09-10 23:59:59。 – Will

+0

@威尔:这与'between''关键字或你的问题没有任何关系。请发布有关此问题的新问题。 –

0

是的,它们包括在内。第一个只是第二个的捷径,所以它们是相同的。

1

没有区别。

(a BETWEEN b AND c) 

是一样的书写

((a >= b) AND (a <= c))