下面的查詢:如何使用MySQL在兩個日期之間進行查詢?
SELECT * FROM `objects`
WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')
回報什麼。
我應該擁有足夠多的數據以供查詢工作。我究竟做錯了什麼?
下面的查詢:如何使用MySQL在兩個日期之間進行查詢?
SELECT * FROM `objects`
WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')
回報什麼。
我應該擁有足夠多的數據以供查詢工作。我究竟做錯了什麼?
你的第二個日期是你們第一次約會之前(即你是2010年9月29日和2010年1月30日之間查詢)。嘗試扭轉日期的順序:
SELECT *
FROM `objects`
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
是date_field
類型datetime
?你也需要先把收銀者的日期。
它應該是:
SELECT * FROM `objects`
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
嘗試圍繞切換日期:
2010-09-29 > 2010-01-30?
可能是與服務器端或客戶端的最新配置的問題。 當我用西班牙文,法文或其他方式配置主機時,我發現這是多個數據庫的常見問題...可能會影響格式dd/mm/yyyy或mm/dd/yyyy。
問題在於較早的日期是在較新的日期之前列出的。 – theninjagreg 2015-06-24 20:09:04
您的查詢應該有日期作爲
select * from table between `lowerdate` and `upperdate`
嘗試
SELECT * FROM `objects`
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
DATE()是僅提取日期或日期的日期部分MySQL的函數/時間表達
SELECT * FROM table_name WHERE DATE(date_field) BETWEEN '2016-12-01' AND '2016-12-10';
你*可以*添加一個解釋,這樣人們就會明白你在做什麼。 – 2016-12-15 06:39:01
請謹慎使用BETWEEN,因爲'min'和'max'值都被認爲在範圍內,所以不會處理兩次或者是'min'和'最大'值(邊緣情況)。例如,2010-09-29 00:00:00之間的日期將在2010-09-28 00:00:00和2010-09-29 00:00:00之間,還有** _之間'2010-09-29 00:00:00'和'2010-09-30 00:00:00'_ – minipif 2015-03-27 01:44:32
是啊,他說什麼^^ – 2016-11-04 09:37:26