1. ホーム
  2. mysql

[解決済み] MySQLで日付のみのパラメータを使用してタイムスタンプの日付を比較するには?

2022-12-12 08:21:31

質問

SQLステートメントで、TIMESTAMPとして保存された日付とYYYY-MM-DD形式の日付を比較するにはどうすればよいですか。

例: SELECT * FROM table WHERE timestamp = '2012-05-25'

このクエリは、指定された日のタイムスタンプを持つすべての行を返したいのですが、真夜中のタイムスタンプを持つ行しか返せません。

ありがとうございます。

どのように解決するのですか?

を使用することができます。 DATE() 関数を使って、タイムスタンプの日付部分を抽出することができます。

SELECT * FROM table
WHERE DATE(timestamp) = '2012-05-25'

ただし、timestampカラムにインデックスがある場合は、timestampカラムのインデックスを利用することができるので、この方が速いでしょう。

SELECT * FROM table
WHERE timestamp BETWEEN '2012-05-25 00:00:00' AND '2012-05-25 23:59:59'