Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql SSIS项目上的DateTime参数存在问题_Tsql_Ssis - Fatal编程技术网

Tsql SSIS项目上的DateTime参数存在问题

Tsql SSIS项目上的DateTime参数存在问题,tsql,ssis,Tsql,Ssis,我的SSIS项目报告中的日期参数有问题。我需要查询按日期(今天的日期)注册的产品。下面是我通过的一个查询 SELECT * FROM [Products] WHERE [CreatedDateTime] = @Date 在@Date参数中,我将值指定为今天的日期,因此在默认值部分,我传递了表达式“=today()”,它获取实际日期 现在我遇到的问题是,当我运行此报告时,即使结果在数据库中,它也不会返回任何结果。在运行了一些测试之后,我意识到dateTime存储在数据库中的方式与执行@Date参

我的SSIS项目报告中的日期参数有问题。我需要查询按日期(今天的日期)注册的产品。下面是我通过的一个查询

SELECT * FROM [Products] WHERE [CreatedDateTime] = @Date
在@Date参数中,我将值指定为今天的日期,因此在默认值部分,我传递了表达式“=today()”,它获取实际日期

现在我遇到的问题是,当我运行此报告时,即使结果在数据库中,它也不会返回任何结果。在运行了一些测试之后,我意识到dateTime存储在数据库中的方式与执行
@Date
参数的方式不同。例如:

在我的Sql server视图中,我有一个CreatedDateTime列,以这种格式存储日期:
2016-04-14 08:58:07.140
在SSIS上,my@Date仅按日期过滤,因此,例如,它将仅在2016-04-14之前查询(仅按日期而非时间),因此不会返回任何结果

我通过添加一个文本框按输入的日期进行过滤发现了这一点。。当我只输入日期时,不会返回结果,但当我输入日期和时间时,会返回结果

在@Date参数中是否有一个方法可以传递给我,而不是将在我的情况下工作并仅按日期过滤的=Today()


谢谢您的时间。

我终于在以下人员的帮助下找到了解决方案:

因此,我更改了sql语句,如下所示:

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

成功了

这是因为您遇到了SQL问题,而不是SSIS问题。您正在将仅日期值与同时包含时间的值进行比较。仅当时间部分为
00:00