0
我有以下SSIS表達式:如何獲得前一個月的數字
Right("0" + (DT_STR,4,1252) DatePart("m",getdate()),2) + RIGHT("0" + (DT_STR,4,1252) DatePart("yyyy",getdate()),2)
這給了我0614
。
如何更改月份代碼,以便始終提供上個月的號碼?
我有以下SSIS表達式:如何獲得前一個月的數字
Right("0" + (DT_STR,4,1252) DatePart("m",getdate()),2) + RIGHT("0" + (DT_STR,4,1252) DatePart("yyyy",getdate()),2)
這給了我0614
。
如何更改月份代碼,以便始終提供上個月的號碼?
實際上,我不知道你的表達是什麼 - 它看起來像是SQL和SSRS VBA的混合體。這可能是SSIM所認爲的@mmarie。
所以我給你兩個答案 - SQL(你可以在SSRS的查詢表達式中使用)和實際的VBA SSRS表達式。
要調整你必須SQL獲得前一個月,你可以使用:
Right('0' + CAST(DatePart(mm, DateAdd(mm, -1, getdate())) AS VARCHAR), 2)
+ RIGHT('0' + CAST(DatePart(yy, DateAdd(mm, -1, getdate())) AS VARCHAR), 2)
要讓這是一個SSRS表達式,你可以使用:
=Right("0" & CStr(DatePart(DateInterval.Month, DateAdd(DateInterval.Month, -1, Today))), 2)
& Right("0" & CStr(DatePart(DateInterval.Year, DateAdd(DateInterval.Month, -1, Today))), 2)
要轉換原來SSIS的表情,你會像這樣與DateAdd(mm, -1, getdate())
取代getdate()
:
Right("0" + (DT_STR,4,1252) DatePart("m", DateAdd(mm, -1, getdate())), 2)
+ RIGHT("0" + (DT_STR,4,1252) DatePart("yyyy", DateAdd(mm, -1, getdate())), 2)
mmarie是正確的。我只有漫長的一天:)...所以這兩個表達式在SSIS的表達式生成器中是無效的 – Si8
是英語新這是SSRS嗎?我認爲你的意思是標記SSIS而不是SSRS。這是Integration Services中的一個有效表達式,您可以在其中找到表達式構建器對話。 – mmarie
不,它是SSRS表達式生成器。 – Si8
Opppps ...你是對的,這是SSIS包:/ – Si8