2014-01-11 124 views
-1

我正在嘗試爲返回具有指定日期範圍之間的日期時間的條目的MySQL數據庫編寫查詢。是否有實現相同目的的任何方式來寫類似在兩個指定的日期之間選擇僅含日期的條目

SELECT myField FROM myTable WHERE myDATE IS BETWEEN {DATE-RANGE}

什麼?

對於什麼是值得的,我使用PHP來運行此查詢。

+1

我想MySQL的['BETWEEN ... AND ...'](http://dev.mysql.com/doc/en/comparison-operators.html#operator_between)比較運算符會有點太簡單了嗎? – eggyal

回答

1

它比你想象的MySQL更容易。

SELECT * 
FROM myTable 
WHERE myDate > '2008-6-22' 
AND mydate < '2014-1-10' 

這將返回與2008年6月22日和1月10日之間的日期行,2014年

+0

請注意'myDate'是'DATETIME':這將排除2008-06-22午夜,但包括當天剩餘時間。 – eggyal

+0

這實際上結束了我所用的(通過BETWEEN),因爲我最終不得不使用2個日期值(開始和結束)。 – muttley91

2

谷歌創造奇蹟,SO右上角的搜索框可以創造奇蹟!

無論如何,你正在尋找你寫的東西!

SELECT myField FROM myTable WHERE myDate BETWEEN '2014-01-01 00:00:00' AND '2014-01-05 23:59:59' ORDER BY myDate 
+0

不用擔心。但實際上,由於您提到了毫秒,如果使用MySQL> = 5.6.4,則可以以高達微秒級的精度來存儲'myDate' ......在這種情況下,需要進入''2014-01-05 23:59:59.999999''! – eggyal

1

您可以使用... BETWEEN操作或< < => =>運營商實現你的目標。

當然,如果你的日期被存儲爲一個varchar,這是一個常見的錯誤,事情會變得複雜。

相關問題