在MySQL 中擷取兩個日期之間的資料
在MySQL 中處理日期時間值時,必須考慮短日期格式的午夜預設值。這可能會導致在查詢某個日期範圍內的資料時出現意外結果。
例如,如果您要選擇created_at列位於「2011-12-01」和「2011-12-06」之間的記錄, ' 使用下列查詢:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
可能不會回傳所需的結果。這是因為短日期格式隱式將時間解釋為午夜。
要修正此問題,請將查詢調整為使用「2011-12-07」作為上限:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
或者,您可以使用 MySQL 的 date_add() 函數或 BETWEEN運算子來實現相同的目的result:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
SELECT `users`.* FROM `users` WHERE created_at BETWEEN '2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY)
透過考慮短日期格式的預設午夜解釋,您可以在 MySQL 中準確檢索指定日期範圍內的資料。
以上是如何正確檢索特定日期範圍內的MySQL資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!