如何获得上个月的电话号码

时间:2014-06-19 20:53:25

标签: ssis expressionbuilder

我有以下SSIS表达式:

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

给了我0614

如何更改月份代码,以便始终为我提供上个月的数字?

1 个答案:

答案 0 :(得分: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)