如果我在我的数据集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没有问题。我将返回查看是否有任何这些特定表和此特定日期字段 - 或者是否有任何其他日期是日期时间字段....
与此同时,我将不胜感激。
谢谢!
答案 0 :(得分:0)
我怀疑比较Date和DateTime类型的转换问题。要证明这一点,请在查询中手动将日期设置为完整的日期和时间。如果这没有产生任何结果,那么尝试一些简单的事情。
WHERE CAST(o.ORDERDATE AS Date) Between @StartDate AND @EndDate
请记住,如果您默认开始使用年份(我认为),则会将其解释为YYYY-MM-DD格式。