1. ホーム
  2. マイスル

[解決済み] datetimeカラムから日付を選択する方法は?

2022-04-03 01:54:55

質問

2009-10-20 10:00:00 のような値を持つ "datetime" 型のカラムを持っています。

datetimeから日付を抽出し、以下のようなクエリを書きたい。

SELECT * FROM 
data 
WHERE datetime = '2009-10-20' 
ORDER BY datetime DESC

以下のようにすればよいのでしょうか?

SELECT * FROM 
data 
WHERE datetime BETWEEN('2009-10-20 00:00:00' AND '2009-10-20 23:59:59')
ORDER BY datetime DESC

しかし、これは空の結果セットを返します。何かいい方法はないでしょうか?

解決方法は?

MySQLの DATE() 関数を使用します。

WHERE DATE(datetime) = '2009-10-20'

また、こんなこともできます。

WHERE datetime LIKE '2009-10-20%'

参照 この回答 を使用した場合のパフォーマンスへの影響については LIKE .