MySQL で週の最初の日を取得する
データベース内の一時データを扱う場合、多くの場合、特定の週の最初の日を決定する必要があります。週。これは、データをグループ化し、長期にわたる傾向を分析する場合に特に役立ちます。
問題ステートメント
ユーザーはデータを週ごとにグループ化するクエリを持っていますが、最初の週を表示したいと考えています。異なる日付ではなく、毎週の曜日。日付 (2011-01-03) が特定されており、それに対応する週の最初の日 (2011-01-02) を取得する必要があります。
日曜日から始まる週
週が日曜日から始まる場合は、次の MySQL 式を使用できます:
DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
この式は、現在の曜日 (1 から始まる) を減算して週の最初の日を計算します。指定された日付に 1 日を加えます。
月曜日から始まる週
週が月曜日から始まる場合は、別の式が必要です:
DATE_ADD(mydate, INTERVAL(-WEEKDAY(mydate)) DAY);
この場合、指定された日付から現在の曜日 (0 から始まる) が減算され、月曜日に達するまで遡る日数が決定されます。
使用例
2011-01-03 を表す次の日付があるとします。
'2011-01-03'
週が日曜日から始まると想定されている場合、最初の式を使用して、週の最初の日:
SELECT DATE_ADD('2011-01-03', INTERVAL(1-DAYOFWEEK('2011-01-03')) DAY);
これにより、次の結果が生成されます:
2011-01-02
予想どおり、日曜日から始まる週の最初の日は 2011-01-02 です。
以上がMySQL で週の最初の曜日を確認するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。