日時列から日付を選択するにはどうすればいいですか? 質問する

日時列から日付を選択するにはどうすればいいですか? 質問する

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

ただし、空の結果セットが返されます。何か提案はありますか?

ベストアンサー1

MySQLのDATE()関数:

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

これも試すことができます:

WHERE datetime LIKE '2009-10-20%'

見るこの答えを使用した場合のパフォーマンスへの影響については、 を参照してくださいLIKE

おすすめ記事