DBに入っている日付のデータが年、月、日で別々のカラムに入っています。
DBはMySQLを使っています。
ex:
start_year =>2016 start_month =>6 start_day =>18 end_year => 2017 end_month => 7 end_day => 25
postで
$_POST['start_date']=>2016-06-22
$_POST['end_date']=>2017-07-28
こんな感じでデータが渡されるので
WHERE start_date BETWEEN '2016-06-22' AND '2017-07-28'
AND end_date BETWEEN '2016-06-22' AND '2017-07-28'
みたいな感じで絞り込みたいのですがstart_date(date型)が無く、
年、月、日が別々のカラムに入っています。
DBのカラムの増やすなどは出来ません。
sql特な方、教えてください。
DBの種類、それぞれのカラムの型をご提示ください。あとどのようにフィルタしたいかも。
どうフィルタしたいのでしょうか?そもそも年、月、日が別々のカラムって設計が悪過ぎます。テーブル設計してこれから開発するならdate型に変更されては?
matsu1006 ご指摘ありがとうございます。修正いたしました。
Orlofsky どうフィルタしたいか追記しました。テーブル設計が悪すぎるのですが、テーブル設計を変えずに実装しなければならないのです涙
もし、Windows であれば、NativeClient/ODBC/OLEDBの別も追記して下さい。フィールド(カラム)の追加が可能であれば、日付型(date型)を追加しますけどねぇ。パフォーマンス考慮外で、とりあえずViewで日付に変えてしてしまうとか。
この作業が終わったら職場を変わるとして、各列のデータ型がわかるようにcreate table文を提示されては?
回答2件
あなたの回答
tips
プレビュー