mysqlでdatetime型をdate型にキャストする方法| プロサバメモ

WEBプログラミングやサーバ設定などのメモ場

mysqlでdatetime型をdate型にキャストする方法

2022.03.18

mysqlにて、datetime型(YYYY-mm-dd HH:ii:ss)をdate型(YYYY-mm-dd)にキャストする方法です。

まずは単純に、NOW()を呼び出してdatetime型の現在年月日時間を取得してみます。

SELECT NOW();
NOW()
2022-03-18 11:21:34

NOWで呼び出された現在日時はdatetime型で取得されるので、YYYY-mm-dd HH:ii:ssで表示されている。

次に、NOW()で取得したdatetime型の現在年月日時間をDATE型にキャストしてみます。

SELECT CAST( NOW() AS DATE );
CAST( NOW() AS DATE )
2022-03-18

NOWで呼び出された現在日時はdatetime型だが、CASTによってDATE型に変換されてYYYY-mm-ddで表示されている。

テーブルに保存されているdatetime型のカラムに対してもdate型にCASTできます。

テーブルを日付ベースで集計したりする場合に役立つかもしれません。

SELECT
    *
FROM
    hoge
WHERE
    CAST( datetime_column AS date ) = '2022-03-18';
SELECT
    CAST( datetime_column AS date ),
    COUNT(*)
FROM
    hoge
GROUP BY 
    CAST( datetime_column AS date )
ORDER BY
    CAST( datetime_column AS date ) DESC;

などなど

関連記事

TOP