0

我尝试运行的 SSRS 报告有点问题。我试图从一天的开始(每天运行)和执行时间拉报告。

我有:

(Rest of the SQL here)WHERE fa.ReceivedDate between @prmStartDate and %executionTime 

在 @prmStartDate 目前我有 =DateValue(today) ,它在运行时会产生错误。

4

2 回答 2

0

这行不通吗?

where ReceivedDate >= cast(getdate() as date)
and ReceivedDate < getdate()
于 2013-10-28T18:06:18.810 回答
0

如果它总是使用当前日期,那么您可以在 SQL Server 中使用 GETDATE 函数,您只需要一种方法来去除第一个日期的时间部分。 这里推荐一个我喜欢的方法。

您的代码如下所示:

(Rest of the SQL here)WHERE fa.ReceivedDate between DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) and GETDATE()

如果您想允许用户选择不同日期的数据,只需添加一个参数而不是 GETDATE 函数:

(Rest of the SQL here)WHERE fa.ReceivedDate between @DateParam and DATEADD(dd, 1, @DateParam) 
于 2013-10-28T18:07:39.423 回答