我需要按选定日期检索数据。有一个主要的细节:用户可以连续选择两天,然后可以跳过一些天,然后再选择另一个。
将选定日期传递到存储过程并按此类日期范围组织过滤器的最佳方法是什么?
例如,我有具有以下结构的表:
CREATE TABLE [dbo].[Events](
[ID] [int] IDENTITY(1,1) NOT NULL,
[EventDate] [datetime] NOT NULL,
[Amount] [float] NOT NULL,
CONSTRAINT [PK_Events] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
使用以下数据:
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-01-01 10:00', 12)
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-01-01 11:00', 154)
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-01-01 12:00', 4)
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-02-01 10:00', 132)
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-02-01 11:00', 212)
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-03-01 10:00', 712)
INSERT [dbo].[Events] ([EventDate], [Amount]) VALUES ('2012-03-01 20:00', 892)
用户想要检索事件日期为 2012-01-01 10:00 和 2012-01-01 11:00,从 2012-03-01 09:00 到 2012-03-01 19:00 等的数据。
用户可以选择不同的间隔计数。