」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在MySQL中正確選擇兩個日期之間的資料?

如何在MySQL中正確選擇兩個日期之間的資料?

發佈於2024-11-26
瀏覽:587

How to Properly Select Data Between Two Dates in MySQL?

從MySQL 資料庫中選擇兩個日期之間的資料

在MySQL 中,檢索特定日期範圍內的資料是儲存日期時的一個常見挑戰作為日期時間值。由於預設將午夜解釋為日期的開始,使用 >= 和

考慮這樣的場景:您想要選擇created_at 欄位位於 ' 之間的記錄。 2011 年 12 月 1 日及 2011 年 12 月 6 日。執行以下查詢將令人驚訝地排除在 '2011-12-06 10:45:36' 發生的預期記錄:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

原因是MySQL將結束日期解釋為午夜('2011-12-06 00:00:00'),有效地排除了當天晚些時候創建的記錄。若要選擇所需記錄,請將結束日期修改為「2011-12-07」:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

或者,使用DATE_ADD() 在開始日期中加入天數,建立一個包含所需結束日期的時間間隔:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

為了提高可讀性,可以使用BETWEEN 運算子:

SELECT `users`.* FROM `users` 
WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))

透過調整結束日期或使用DATE_ADD() 函數,您可以準確選擇指定日期範圍內的數據,確保捕獲在預期結束日期創建的所有記錄。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3