我有一份SSRS报告,允许用户将开始时间和结束时间传递给查询。
开始时间完美,因为它会自动选择00:00:00。
然而,结束时间也选择相同的时间,我希望它自动选择11:59:59。
这可能吗?
提前致谢
答案 0 :(得分:3)
应该很少需要设置时间为23:59:59
的日期参数,通常情况是这样的,因为你使用的是:
WHERE DateTimeField BETWEEN @DateTime1 AND @DateTime2;
最好避免哪种情况,Aaron Bertrand在他的文章What do BETWEEN and the devil have in common?中比我在答案中提供的细节要详细得多,但它的长期和短期是在与DATETIME合作时几乎总是优先使用像
这样的东西WHERE DateField >= @DateTime1
AND DateField < @DateTime2;
虽然这可能会给那些期望如果他们选择并结束2013年8月15日日期参数的用户造成一些混淆,但它会包含该日期的数据,因此您可能需要使用:
WHERE DateField >= @DateTime1
AND DateField < DATEADD(DAY, 1, @DateTime2);