• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日付だけを見てデータをSELECTしたい)

MySQLで日付だけからデータを抽出する方法

このQ&Aのポイント
  • MySQLで日付だけを見てデータを抽出する方法を教えてください。
  • 開発環境はMySQL3.23.58で、DATETIME型で日付を登録しています。時間を無視して日付だけからデータをSELECTしたいです。
  • マニュアルを見ると、DATE()関数はMySQL 4.1.1以降で使用できるとありますが、古いバージョンでも日付のみでデータを抽出する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

型を変換したりするともしインデックスを設定していても無効になるよう なのでこんな感じでどうでしょう? SELECT * FROM テーブル名 WHERE フィールド名 BETWEEN '2007-09-12 00:00:00' AND '2007-09-12 23:59:59'; 省略するとこんな感じ SELECT * FROM テーブル名 WHERE フィールド名 BETWEEN '2007-09-12' AND '2007-09-13'; とかでどうでしょう?

letis
質問者

お礼

回答ありがとうございます。 やはりBETWEEN関数が良いようですね。 混迷していた矢先でしたので非常に助かりました! ありがとうございました!

その他の回答 (1)

回答No.1

日時の範囲指定にしてはどうでしょう?。 SELECT * FROM テーブル名 WHERE DATE( フィールド名 ) between cast('2007-09-12 00:00:00' as DATETIME) and cast('2007-09-12 23:59:59' as DATETIME);

letis
質問者

お礼

早々のご回答ありがとうございます。 cast()も現在の開発環境下ですとサポートされていないようで・・・。 今後、別環境での開発の参考にさせて頂きます。 そういえばBETWEENなんていうものがありましたね・・・度忘れしてました。 ありがとうございました!

関連するQ&A