- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日付だけを見てデータをSELECTしたい)
MySQLで日付だけからデータを抽出する方法
このQ&Aのポイント
- MySQLで日付だけを見てデータを抽出する方法を教えてください。
- 開発環境はMySQL3.23.58で、DATETIME型で日付を登録しています。時間を無視して日付だけからデータをSELECTしたいです。
- マニュアルを見ると、DATE()関数はMySQL 4.1.1以降で使用できるとありますが、古いバージョンでも日付のみでデータを抽出する方法はありますか?
- みんなの回答 (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'; とかでどうでしょう?
その他の回答 (1)
- Johnny5555
- ベストアンサー率33% (1/3)
回答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);
質問者
お礼
早々のご回答ありがとうございます。 cast()も現在の開発環境下ですとサポートされていないようで・・・。 今後、別環境での開発の参考にさせて頂きます。 そういえばBETWEENなんていうものがありましたね・・・度忘れしてました。 ありがとうございました!
お礼
回答ありがとうございます。 やはりBETWEEN関数が良いようですね。 混迷していた矢先でしたので非常に助かりました! ありがとうございました!