昨天在SSIS包中设置变量表达式的日期

Myt*_*050 2 ssis msbi

我在SSIS包中设置了一个变量,我正在使用这个表达式:

DATEPART("yyyy", GETDATE())*10000 
        + DATEPART("month", GETDATE())*100  
        + DATEPART("day",GETDATE())
Run Code Online (Sandbox Code Playgroud)

表达式会给我一个像'yyyymmdd'这样的变量值.我的问题是我想要昨天的约会.

例如,2014年11月1日它应该是20141031

小智 7

你可以使用DATEADD你的表达式的函数:

DATEPART("yyyy", DATEADD( "day",-1, GETDATE()))*10000 + DATEPART("month",  DATEADD( "day",-1, GETDATE())) * 100 + DATEPART("day", DATEADD( "day",-1, GETDATE()))
Run Code Online (Sandbox Code Playgroud)


小智 6

这将给出昨天的日期

(DT_WSTR, 4) YEAR(DATEADD("day",-1,GETDATE())) +RIGHT("0" + (DT_WSTR, 2) DATEPART("MM", DATEADD("day", -1, GETDATE())),2) +RIGHT("0" + (DT_WSTR, 2) DATEPART("DD", DATEADD("day", -1, GETDATE())),2)