0

イベントを格納するテーブルがあります。

テーブルには次のようなスキーマがあります

EventID INT Primary Key
EventName NVARCHAR(100)
StartDate Datetime
EndDate Datetime

そのため、フロントエンドでは、開始時間と終了時間に従ってイベントを表示したいと考えています。フロントエンドから StartDate と EndDate をパラメーターとして渡して値を取得します。

これまでのところ、次のように取りました

   Select * from tbl_Events
   where ((startDate BETWEEN @start AND @end) OR (EndDate BETWEEN @start AND @end))

イベントを表示するビューが 2 つあります -

  1. 月ビュー-その月のすべてのイベントを表示します

  2. その日のイベントを表示する日ビュー

StartDate が 2012 年 10 月 23 日、EndDate が 2012 年 10 月 27 日のイベントがあるとします。

そして、私は通り過ぎて@StartDate as 24 Oct 2012@EndDate as 25 OCt 2012

上記のクエリによると、月ビューで機能します。しかし、日表示では機能しません。

誰でもクエリを変更するためにこれについて私を助けてもらえますか

4

1 に答える 1

2

重複するロジックは次のようになります。

Select *
from tbl_Events
where startDate <= @end AND @start <= EndDate
于 2012-10-10T11:37:04.720 に答える