sql >> データベース >  >> RDS >> Mysql

先週の月曜日から現在の日までの日付を取得するにはどうすればよいですか?

    最初に、DAYOFWEEKを使用して、先週の月曜日が何日前であったかを計算する必要があります。 関数を作成し、それを現在の日付から減算します-

    SELECT * from table
    WHERE date >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY)
    AND   date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)
    

    ここでの+/-の数値については、100%確信が持てませんが、これから解決できるはずです

    編集:これが期間の終わりの日曜日にのみ実行される場合は、はるかに単純なバージョンがあります-

    SELECT * from table
    WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
    AND   date <= CURDATE()
    


    1. 表の既存の行を使用してOracleのデータ型を変更する方法

    2. 1つのテーブル、2つの列のMYSQLクエリチャレンジ

    3. ASP.NETのmysqlパラメータ化クエリ

    4. 文字列を、前に空のスペースがある文字列と、空のスペースがない文字列を比較する