Date SSIS中返回日期不存在的表达式
我有一个表达式,返回6个月前的日期,格式为03/31/2021。直到今天,它返回的日期为2020年9月31日(该日期不存在),它一直按预期运行。如何编写表达式以获得所需的结果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) + &
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])