我的SSIS项目报告中的日期参数存在问题。我需要查询按日期注册的产品(今天' s日期)。以下是我正在通过的查询......
SELECT * FROM [Products] WHERE [CreatedDateTime] = @Date
在@Date参数中,我已将该值指定为今天的日期,因此在默认值部分中我已通过此表达式' =今天()'得到实际的日期。
现在我遇到的问题是,当我运行此报告时,即使结果在数据库中,它也不会返回任何结果。当我意识到dateTime存储在我的数据库中的方式与我的@Date
参数的执行方式不同时,它运行了一些测试。例如:
在我的Sql服务器视图中,我有一个CreatedDateTime列,以这种格式存储日期:2016-04-14 08:58:07.140
<如你所见,存储日期和时间。
在SSIS上我的@Date只按日期过滤,所以例如它只会在2016-04-14之前查询(按日期而不是时间),因此不会返回任何结果。
我发现这是通过添加一个文本框来按输入日期过滤..当我只输入日期时,不会返回任何结果,但是当我连同时间输入日期时,会返回结果。
我的@Date参数除了= Today()之外还有一个方法可以传递吗?这个方法在我的情况下是有效的,只按日期过滤?
感谢您的时间。
答案 0 :(得分:0)
我终于通过以下方式找到了解决方案: this link
所以我改变了我的sql语句:
SELECT * FROM [Products] WHERE CAST([CreatedDateTime] AS DATE) = @Date
它有效!