在SSIS项目上遇到DateTime参数问题

时间:2016-04-14 10:57:26

标签: tsql ssis

我的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()之外还有一个方法可以传递吗?这个方法在我的情况下是有效的,只按日期过滤?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

我终于通过以下方式找到了解决方案: this link

所以我改变了我的sql语句:

SELECT * FROM [Products] WHERE CAST([CreatedDateTime] AS DATE) = @Date

它有效!