2012-10-04 78 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))