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

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

Barbara Streisand
發布: 2024-11-24 16:04:43
原創
281 人瀏覽過

How to Correctly Select Data Between Two Dates in MySQL?

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

在 MySQL 中處理日期和時間資料時,通常需要選擇特定日期範圍內的資料。但是,當使用created_at列作為日期時間值時,短日期的預設解釋是午夜。

問題

您可能會遇到這樣的查詢的情況:儘管行的created_at時間戳落在指定日期內,以下內容不會回傳行range:

SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'
登入後複製

解決方案:

問題是查詢實際上選擇的資料範圍是'2011-12-01 00:00:00 ' 到 '2011-12-06 00:00:00'。要解決此問題,有幾種方法:

  • 擴充結束日期範圍:將查詢變更為使用下列範圍:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'
登入後複製
  • 使用 DATE_ADD ():在原結束日期加一天計算結束日期日期:
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))
登入後複製

使用這些方法中的任何一種都將正確選擇屬於指定範圍內的資料日期範圍,包括具有created_at時間戳記的行,例如“ 2011-12-06” 10:45:36'。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板