- ベストアンサー
varcher型の日付から検索する
お世話になっております。 さてvarcher型で入っている日付で料金を検索したいのですが どうしたらいいのでしょうか? <データ例> t_from t_to a_fare 20061001 20061009 83000 20061010 20061031 80000 20061101 20061123 60000 20061124 20061206 59000 20061207 20061214 66000 <欲しい結果> 日付2006年10月08日なら83000 日付2006年12月13日なら66000 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>今日2007/01/25から2007/03/31までの最安値59000が欲しい select min(a_fare) from t1 where t_to>='20070125' and t_to<='20070331' ; 今日の日付を自動的に取得する場合は、 select min(a_fare) from t1 where t_to>=current_date+0 and t_to<='20070331' ;
その他の回答 (1)
- shogo0809
- ベストアンサー率47% (25/53)
2006-12-13を対象とした場合: SELECT a_fare FROM <テーブル名> WHERE t_from <= '20061213' AND t_to >= '20061213'; でも問題ないはずです。 ちなみにMySQL 4.0.2以降かつ、上記で不安ならば SELECT a_fare FROM <テーブル名> WHERE CAST(t_from AS DATE) <= '2006-12-13' AND CAST(t_to AS DATE) >= '2006-12-13'; でどうぞ。
お礼
shogo0809さま ありがとうございました!問題なく無事出来ました。。 感謝感謝です。 しつこいですがありがとうございます。
補足
shogo0809さま もし可能でしたら追加の質問があるのですが。。。 今日以降での最安値を求めることは可能でしょうか? 先のデータは12月14日で終わってますが、下記の場合 今日2007/01/25から2007/03/31までの最安値59000が欲しいのです。 t_from t_to a_fare 20061001 20061009 83000 20061010 20061206 80000 20061207 20061214 60000 20061215 20070202 59000 20070203 20070331 66000 図々しいお願いですが、よろしくお願いします。
お礼
chukenkenkouさま ありがとうございました! 何の問題もなく解決しました。 本当にありがとうございました。