在MySQL 中檢索特定日期(不包括時間)的記錄
使用儲存為日期時間的時態資料時,有必要根據不考慮時間的具體日期。這種情況在追蹤每日指標或分析給定 24 小時內事件的應用程式中經常出現。
要實現此目的,必須避免使用 DATE(datecolumns) = '2012-12- 等選擇器24',因為它們會顯著影響效能並阻止索引的利用。
相反,建議使用 BETWEEN 使用基於範圍的查詢 操作員。例如,以下查詢從指定表中檢索 2012 年 12 月 25 日的記錄:
SELECT * FROM tablename WHERE columname BETWEEN '2012-12-25 00:00:00' AND '2012-12-25 23:59:59'
這種方法可以充分利用索引並確保最佳的查詢效能。
最近,發現使用「23:59:59」作為一天的結束在某些 MySQL 版本中可能不可靠。為了解決這個問題,建議將查詢更新為以下內容:
SELECT * FROM tablename WHERE columname >= '2012-12-25 00:00:00' AND columname < '2012-12-26 00:00:00'
雖然具體語法可能因MySQL 版本而略有不同,但排除基於時間的比較和使用範圍選擇器的原則仍然存在對於高效率的查詢效能至關重要。
以上是如何有效率地檢索特定日期的 MySQL 記錄,忽略時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!