首頁  >  文章  >  資料庫  >  如何查詢MySQL本週內的記錄?

如何查詢MySQL本週內的記錄?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 01:46:03780瀏覽

How to Query MySQL for Records Within the Current Week?

在 MySQL 中查詢本週內的記錄

確定 MySQL 資料庫中本週的記錄可以透過多種方法來實現。一種提出的方法涉及計算工作日、上週一、週一日期、未來週日日期,並根據計算的日期發出請求。然而,還有一種更簡潔的方法,利用 YEARWEEK() 函數。

YEARWEEK() 是一個 MySQL 函數,它會傳回給定日期的周數,預設開始日期設定為星期日。若要查詢本週內的記錄(包括星期一到星期日),請使用YEARWEEK(),如下所示:

<code class="sql">SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>

此查詢確定每行日期列的周數,將星期日視為該行的第一天週(參數1)。然後,它將每行的周數與當前日期的周數 (CURDATE()) 進行比較,從而有效地檢索同一週內的記錄。

更正週記錄的日期範圍

問題中提供的範例查詢:

<code class="sql">SELECT *
FROM   temp
WHERE  yearweek(`date`) = yearweek(curdate())</code>

由於預設開始日為星期日,因此錯誤地檢索了從星期日到星期六(2013 年11 月17 日到2013 年11 月23 日)的記錄。若要將星期一調整為一週的第一天並檢索從18.11.2013 到24.11.2013 的記錄,請使用以下修改後的查詢:

<code class="sql">SELECT *
FROM   temp
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)</code>

透過將開始日期指定為星期一(參數1), YEARWEEK() 函數確保週邊界與所需範圍對齊。

以上是如何查詢MySQL本週內的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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