2017-02-14 5 views
1

注文日から開始する日付のカスタム範囲(ハードコードされた日付範囲ではなく)を指定する必要があるクエリを記述します。使用されているテーブルには、注文日があります。SQLクエリでカスタム日付範囲を指定する

order_dayが最新である
where owh.order_day between TO_DATE('2016/07/15','YYYY/MM/DD') and TO_DATE('2017/01/17','YYYY/MM/DD') 

今のところ、私は次のように日付範囲をハードコードしています。

むしろ私のような何かをしたい:私はやっている "-1"、それが "間" だとして、それはorder_dayから取るよう

where owh.order_day between TO_DATE(owh.order_day - 1,'YYYY/MM/DD') and TO_DATE(owh.order_day +3,'YYYY/MM/DD') 

を - 例えばorder_day + 2

を、場合order_dayは「17/01/2016」です。条件を動的に計算する場所を「16/01/2016 - 20/01/2016」にします。 これは可能でしょうか?はいの場合、どのようにSQLで達成できますか?

問題のDBは、あなたが使用しているRDBMSた私たちに語っていない、とあなたは「任意のリードが感謝」と言っているので、私たちは答えを与えること自由にあるとしているので、任意のリードが

+1

SQL Serverは、 'TO_DATE()'関数を持っていません。どのデータベースを使用していますか? –

+0

その会社固有のdb。これは一般的に任意のSQLクエリで可能ですか? – user2696258

+0

この質問は全く意味がありません。 'order_day'と' order_day'に基づく範囲とを比較したいとします。質問を編集する(または別の質問をする)。使用している正しいデータベースにタグを付けます。サンプルデータと望ましい結果を提供する。 –

答えて

0

を高く評価オラクル です任意のRDBMSに対して以下は、MySQLのために動作します:

BETWEEN DATE_SUB(somedate, INTERVAL 1 DAY) AND DATE_ADD(somedate, INTERVAL 1 DAY) 

(ソース:https://www.tutorialspoint.com/sql/sql-date-functions.htm#function_date-add

+0

DBはオラクルです。この解決策はまだ実行できますか? – user2696258

+0

LMGTFY:https://docs.oracle.com/cd/E57340_01/DR/Dateadd.html –

関連する問題