0

我有以下 SSIS 表达式:

Right("0" + (DT_STR,4,1252) DatePart("m",getdate()),2) + RIGHT("0" + (DT_STR,4,1252) DatePart("yyyy",getdate()),2)

这给了我0614

如何更改月份代码,以便它总是给我上个月的号码?

4

1 回答 1

1

实际上,我不知道你的表达方式是什么——它看起来像是 SQL 和 SSRS VBA 的混合体。正如@mmarie 建议的那样,它可能是SSIS。

所以我会给你两个答案 - 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 表达式,您将替换getdate()DateAdd(mm, -1, 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)
于 2014-06-20T02:51:47.070 回答