在 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中文網其他相關文章!