困っていたこと
MySQLでSQL実行時の日付のレコードのみ取得するために、DATETIME(YYYY-MM-DD hh:mm:ss
)型の日付部分のみを取り出したい。
解決方法
DBMS毎に関数が用意されているようですがISOで定められているCASTで記述するのが良さそうです。
使い方
SELECT CAST(getdate() AS DATE)
-- 結果
-- 2024-03-10
-- サンプルクエリ
SELECT *
WHERE CAST(DATETIME AS DATE) = CURRENT_DATE
FROM TABLE
※現在日付をISO 8601形式で取得するCURRENT_DATEはPostgreSQLとMySQLで使用できるようですが、
標準の書き方はないようなので、お使いのDBMSにあった書き方を確認する必要がございます。