0

私はこれをSQLクエリに持っています。ユーザーが日付範囲の 2 日間しか選択できないように制限できるかどうかを知りたいです。つまり、クエリ データ範囲の 1 か月、1 週間、または 2 日以上の差を選択することはできません。

WHERE
    To_Date(to_char(B.time_stamp, 'DD-MON-YYYY')) >= To_Date('?DATE1::?','MM/DD/YYYY') 
and To_Date(to_char(B.rest_date, 'DD-MON-YYYY')) <= To_Date('?DATE2::?','MM/DD/YYYY') 
4

1 に答える 1

0

私があなたの質問を理解しているなら、あなたは2つの日付を互いに2日以内に制限する方法を尋ねているだけです。Oracleでは日付の計算は非常に簡単です(これは、使用しているDBに関する私の推測です)。

WHERE ABS(Date1 - Date2) <= 2

実際の日付として内部的に保存されるため、to_charなどで変換する必要はありません。これと同じタイプのロジックを使用して、16時間未満であることを確認できます。

WHERE ABS(Date1 - Date2) <= 16/24

単位を適切に調整することを覚えている限り。

この場合、2日は48時間を意味することに注意してください。実際の2日でなければならないということであれば、少し異なります。

于 2012-08-15T16:39:55.163 に答える