0

ユーザーから開始日と終了日を取得できる2つのテキストボックスがあります。ここには3つの条件があります。

  • ユーザーは 2 つのテキスト ボックスに入力できます
  • ユーザーは開始日のみを入力できます (終了日は空です)。
  • ユーザーは終了日のみを入力できます (開始日は空です)。

そして最後に、私のクエリは何ですか?

変数:start_dateend_date

クエリ:SELECT * FROM kkmail WHERE MAIL_DATE ....

4

2 に答える 2

3
SELECT * FROM kkmail 
WHERE (MAIL_DATE >= @start_date OR @start_date is null)
and (MAIL_DATE <= @end_date OR @end_date is null)
于 2013-11-05T08:50:36.057 に答える
1

Oracle には、これらのタイプのクエリを簡潔に記述するためのLNNVL関数がありますが、少し混乱します。

SELECT * 
  FROM kkmail 
 WHERE lnnvl(mail_date < @start_date)
   AND lnnvl(mail_date > @end_date);

Demo

于 2013-11-05T09:11:13.713 に答える