當前正在開發一個將表達式從前一個日期傳遞到文件名的包。當前代碼我是以下作爲一個字符串變量:SSIS表達式以前的日期不帶DateAdd()
(DT_WSTR,20)DATEPART( 「YYYY」,DATEADD( 「DD」, - 1,DATEADD( 「MM」,DATEDIFF( 「MM」 , (DT_DATE)「1900-01-01」,getdate())-2,(DT_DATE)「1900-01-01」))) + RIGHT(「0」+(DT_WSTR,20)DATEPART(「MM 「,Dateadd(」DD「, - 1,dateadd(」MM「,datediff(」MM「,(DT_DATE)」1900-01-01「,getdate()) - 5,(DT_DATE)」1900-01-01 「))),2) + 「01」
這目前生產的輸出:
這是目前不正確,因爲我想的日期是從去年同期
這裏的forumula我想:
返回從今天起過去7個月的第一天。
例如:5/2/2017將返回11/1/2017; 6/21/2017將返回12/1/2016; 7/10/2017將返回2017年1月1日;等等
這是可能通過在SSIS中的變量做?
應該很容易改變現有的表達 - 只是'DATEADD'在年份和月份部分爲-1個月,部分爲硬編碼'1'。 – Filburt
你的第一個例子似乎是錯誤的 - 你的意思是5/2/2017將返回11/1/201 ** 6 **? – Filburt
上面的字符串變量會生成一個過去7個月的日期,但是今年仍然是當年。我試圖讓它在過去7個月內產生一個真實的日期。 –