SSRS:使用日期提示时没有返回数据

时间:2018-04-06 22:35:16

标签: reporting-services

如果我在我的数据集SQL中使用它:

DECLARE @StartDate DATE = '2018-01-01'
DECLARE @EndDate   DATE = '2018-03-01'

报告运行并返回预期的数据。

当我评论@StartDate& @EndDate变量 - 从报告中删除两个参数 - 并在运行时使用日期提示运行报告[使用相同的日期] - 我没有返回任何数据。

我尝试过滤的日期字段是日期时间字段。

我在SQL中尝试了以下两种方法:

o.ORDERDATE >= @StartDate And o.ORDERDATE <= @EndDate
cast(o.ORDERDATE as DATE) >= Cast(@StartDate As Date) And cast(o.ORDERDATE as DATE) <= Cast(@EndDate As Date)

没有数据。

我在报表头中添加了一个文本框,并将@StartDate参数值放在那里,并在运行时获得:01/01/2018 12:00:00 AM。

在取消注释和评论SQL顶部的Date变量之间,我来回几次。当我使用局部变量时 - 我得到数据。当我使用日期参数时 - 没有数据。

我在许多其他报告中使用Date Prompts没有问题。我将返回查看是否有任何这些特定表和此特定日期字段 - 或者是否有任何其他日期是日期时间字段....

与此同时,我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

我怀疑比较Date和DateTime类型的转换问题。要证明这一点,请在查询中手动将日期设置为完整的日期和时间。如果这没有产生任何结果,那么尝试一些简单的事情。

WHERE CAST(o.ORDERDATE AS Date) Between @StartDate AND @EndDate

请记住,如果您默认开始使用年份(我认为),则会将其解释为YYYY-MM-DD格式。