kinjouj.github.io

MySQL Datetime Functions


MySQL

MySQLの日付関連ユーティリティファンクションのメモ

今日のデータのみ

SELECT
    *
FROM
    sample
WHERE
    create_on_date = current_date();

一週間前のデータを取る

SELECT
    *
FROM
    sample
WHERE
    create_on_date < date_sub(current_date(), INTERVAL 7 DAY);

一週間以内のデータを取得

SELECT
    *
FROM
    sample
WHERE
    to_days(now()) - to_days(create_on_date) <= 7

もしくは

SELECT
    *
FROM
    sample
WHERE
    date_add(current_date(), INTERVAL - 7 DAY) < create_on_date

○時間以内に登録されたデータのみを抽出

3時間以内に登録されたデータのみを抽出したい場合

SELECT
    create_at
FROM
    sample
WHERE
    now() < date_add(create_at, interval 3 hour)

だと3時間以内に登録されたデータのみを抽出できるっぽい