我尝试运行的 SSRS 报告有点问题。我试图从一天的开始(每天运行)和执行时间拉报告。
我有:
(Rest of the SQL here)WHERE fa.ReceivedDate between @prmStartDate and %executionTime
在 @prmStartDate 目前我有 =DateValue(today) ,它在运行时会产生错误。
我尝试运行的 SSRS 报告有点问题。我试图从一天的开始(每天运行)和执行时间拉报告。
我有:
(Rest of the SQL here)WHERE fa.ReceivedDate between @prmStartDate and %executionTime
在 @prmStartDate 目前我有 =DateValue(today) ,它在运行时会产生错误。
这行不通吗?
where ReceivedDate >= cast(getdate() as date)
and ReceivedDate < getdate()
如果它总是使用当前日期,那么您可以在 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)