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;
などなど