根据日期选择查询

时间:2012-10-10 11:33:04

标签: sql select

我们有一个表来存储事件。

Table有一个类似

的架构
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. 显示当天事件的日视图

  3. 假设我在2012年10月23日举办的StartDate活动和2012年10月27日的EndDate活动。

    我正在通过@StartDate as 24 Oct 2012@EndDate as 25 OCt 2012

    根据以上查询,其工作在月视图。但它不适用于日视图

    任何人都可以帮我修改查询

1 个答案:

答案 0 :(得分:2)

你的重叠逻辑应该是:

Select *
from tbl_Events
where startDate <= @end AND @start <= EndDate