Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
Sql SSIS日期函数_Sql_Sql Server_Sql Server 2008_Tsql_Ssis - Fatal编程技术网

Sql SSIS日期函数

Sql SSIS日期函数,sql,sql-server,sql-server-2008,tsql,ssis,Sql,Sql Server,Sql Server 2008,Tsql,Ssis,我坚持我的ssis包中的日期部分 我在包中创建了3个变量&我使用了以下表达式 1) @Days - 8 2) @DateDiff - (DT_WSTR,4)YEAR(GETDATE()) + "-" + RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()), 2)+ "-"+ RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", - @[User::Days] , GETDATE())), 2) 3) @datestarted

我坚持我的ssis包中的日期部分

我在包中创建了3个变量&我使用了以下表达式

1) @Days - 8

2) @DateDiff -  (DT_WSTR,4)YEAR(GETDATE()) + "-"    + RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()), 2)+ "-"+   RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", - @[User::Days] , GETDATE())), 2)

3) @datestarted - DATEDIFF("dd", (DT_DBTIMESTAMP) @[User::DiffDate],(DT_DBTIMESTAMP) @[User::PatDate]   ) 
这里patCon与getdate()相同

在这里,如果我将日期改为30天,它不会带我到2013-06-17,它会显示2013-07-17的相同日期(假设gatedate()是2013-07-17)

我想要动态更改日期的表达式 假设我放置了天-50,那么它也应该改变月份。如果天数为-500,则会改变月份和年份

请让我知道更多的细节。感谢您的时间和帮助。我只想在软件包方面而不是T-SQL方面开发它


--343

您仅将
日期添加
应用于日子字符串所在的部分,如果您希望月和年受到影响,则还需要将其应用于月和年。我相信是这样的:

(DT_WSTR,4)YEAR(DATEADD("dd", - @[User::Days] , GETDATE())) + "-"    
+ RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("dd", - @[User::Days] , GETDATE())), 2) + "-"
+   RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", - @[User::Days] , GETDATE())), 2)