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
Date SSIS中返回日期不存在的表达式_Date_Ssis_Expression - Fatal编程技术网

Date SSIS中返回日期不存在的表达式

Date SSIS中返回日期不存在的表达式,date,ssis,expression,Date,Ssis,Expression,我有一个表达式,返回6个月前的日期,格式为03/31/2021。直到今天,它返回的日期为2020年9月31日(该日期不存在),它一直按预期运行。如何编写表达式以获得所需的结果 RIGHT("0" + (DT_WSTR,2)MONTH( DATEADD( "MONTH" , -6,GETDATE())), 2) + "/"+ RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()), 2) + &

我有一个表达式,返回6个月前的日期,格式为03/31/2021。直到今天,它返回的日期为2020年9月31日(该日期不存在),它一直按预期运行。如何编写表达式以获得所需的结果

RIGHT("0" + (DT_WSTR,2)MONTH( DATEADD( "MONTH" , -6,GETDATE())), 2) + 
"/"+ RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()), 2) + 
"/" +(DT_WSTR,4)YEAR(DATEADD( "MONTH" , -6,GETDATE()))

问题是第二组字符串逻辑

RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()), 2)
它获取当前日期的天数(31)。你很可能打算放弃6个月,就像你对待年复一月一样

RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("MONTH" , -6,GETDATE()), 2)
如果是我,我将创建一个新变量,
AnchorDate
,并将Evaluate as Expression设置为True并使用该表达式

DATEADD("MONTH", -6, GETDATE())
我可以测试一下,是的,那是6个月前的事了

现在我的日期字符串变得更干净了,因为我没有重复日期操作逻辑(或者在您的案例中没有重复1/3)

      RIGHT("0" + (DT_WSTR,2)MONTH(@[User::AnchorDate]), 2) + 
"/" + RIGHT("0" + (DT_WSTR,2)DAY  (@[User::AnchorDate]), 2) + 
"/" +(DT_WSTR,4)YEAR(@[User::AnchorDate])

问题是第二组字符串逻辑

RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()), 2)
它获取当前日期的天数(31)。你很可能打算放弃6个月,就像你对待年复一月一样

RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("MONTH" , -6,GETDATE()), 2)
如果是我,我将创建一个新变量,
AnchorDate
,并将Evaluate as Expression设置为True并使用该表达式

DATEADD("MONTH", -6, GETDATE())
我可以测试一下,是的,那是6个月前的事了

现在我的日期字符串变得更干净了,因为我没有重复日期操作逻辑(或者在您的案例中没有重复1/3)

      RIGHT("0" + (DT_WSTR,2)MONTH(@[User::AnchorDate]), 2) + 
"/" + RIGHT("0" + (DT_WSTR,2)DAY  (@[User::AnchorDate]), 2) + 
"/" +(DT_WSTR,4)YEAR(@[User::AnchorDate])