首頁 >資料庫 >mysql教程 >如何在MySQL中正確選擇兩個日期之間的資料?

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

Patricia Arquette
Patricia Arquette原創
2024-11-20 12:48:13591瀏覽

How to Properly Select Data Between Two Dates in MySQL?

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

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

考慮您想要選擇created_at 列所在的記錄的場景在「2011-12-01」和「2011-12-06」之間。執行以下查詢將令人驚訝地排除在'2011-12-06 10:45:36' 發生的預期記錄:

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

原因是MySQL 將結束日期解釋為午夜('2011- 12- 06 00:00:00'),實際上排除了當天稍後創建的記錄。若要選擇預期記錄,請將結束日期修改為「2011-12-07」:

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

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

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

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

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

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

以上是如何在MySQL中正確選擇兩個日期之間的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn