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

時間の現在の日付のクエリmysql

    ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate())) 先週の日付部分のみを返すため、この日の開始後のすべてのデータは含まれません。

    これを解決するためのいくつかのオプションがあります:

    1. 時間部分のない現在までのラウンドcreatedAt:
    SELECT *
    FROM your_table
    WHERE DATE(createdAt) BETWEEN 
        SUBDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), WEEKDAY(curdate())) AND
        ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 6-WEEKDAY(curdate()));
    
    1. 翌日には強い少ない状態を使用します:
    SELECT *
    FROM your_table
    WHERE 
        createdAt >= SUBDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), WEEKDAY(curdate())) AND
        createdAt < ADDDATE(DATE_SUB(curdate(), INTERVAL 1 WEEK), 7-WEEKDAY(curdate()));
    



    1. MySQL:1970年より前の日付

    2. PostgreSQLの単一引用符と二重引用符の違いは何ですか?

    3. 11gR2圧縮アドバイザー=悪

    4. 最大値を表示し、残りを制限するためのページ付け