ホームページ  >  記事  >  データベース  >  MySQL で特定の週のレコードを選択する方法: 月曜日から日曜日、または日曜日から土曜日?

MySQL で特定の週のレコードを選択する方法: 月曜日から日曜日、または日曜日から土曜日?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 21:40:02536ブラウズ

How to Select Records for a Specific Week in MySQL: Monday to Sunday or Sunday to Saturday?

MySQL: 1 週間のレコードの選択

最初の問題:
テーブルからレコードを取得する方法指定された日付が指定された特定の週について?

従来のアルゴリズム:

  1. 指定された日付の曜日を決定します。
  2. 最も近い月曜日までの日数を計算します。
  3. その週の月曜日と日曜日の日付を計算します。
  4. クエリを実行して、計算された日付範囲内のレコードを取得します。

短いアルゴリズム (MySQL の YEARWEEK() 関数を使用):

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 1) = YEARWEEK(CURDATE(), 1)

説明:

  • YEARWEEK () 関数は、日付と、週の最初の日 (月曜日) を指定するオプションのパラメーター (この場合は 1) を受け取ります。
  • 指定された日付 (日付) の YEARWEEK() を YEARWEEK と比較することにより、 () 現在の日付 (CURDATE()) に対して、クエリは同じ週に属するレコードを選択します。

追加の質問への対処:

ユーザーが使用するクエリが月曜日から日曜日ではなく、日曜日から土曜日までの週のレコードを選択すると仮定します。これを修正するには、次の変更を行うことができます:

SELECT *
FROM   your_table
WHERE  YEARWEEK(`date`, 3) = YEARWEEK(CURDATE(), 3)
  • オプションのパラメータ 3 は、週の最初の日を日曜日ではなく月曜日に指定します。

以上がMySQL で特定の週のレコードを選択する方法: 月曜日から日曜日、または日曜日から土曜日?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。