2

我有一个 SSRS 报告,可让用户将开始时间和结束时间传递给查询。

开始时间完美运行,因为它会自动选择 00:00:00 作为时间。

但是结束时间也选择相同的时间,我希望它自动选择 11:59:59。

这可能吗?

提前致谢

4

1 回答 1

3

很少需要设置时间为 的日期参数23:59:59,通常在这种情况下是因为您使用的是类似的东西:

WHERE DateTimeField BETWEEN @DateTime1 AND @DateTime2;

最好避免哪一个,Aaron Bertrand在他的文章What do BETWEEN and the Devil 有什么共同点?,但总而言之,在使用 DATETIME 时,几乎总是优先使用类似的东西

WHERE DateField >= @DateTime1
AND DateField < @DateTime2;

虽然这可能会导致用户感到困惑,如果他们选择 2013 年 8 月 15 日的结束日期参数,它将包含该日期的数据,因此您可能需要使用:

WHERE DateField >= @DateTime1
AND DateField < DATEADD(DAY, 1, @DateTime2);
于 2013-08-15T12:06:27.987 回答