上个月的 SSIS 日期表达式

SSIS Date Expression for previous month

我想从我写的表达式中得到上个月,但我没有任何运气。我希望在上个月的表达中能够 -1、-2 等。帮助将不胜感激。

MONTH(Created) == MONTH(GETDATE()) && YEAR(Created) == YEAR(GETDATE())

AFAIK,SSIS returns DT_I4 中的表达式 month() - 换句话说就是普通的 int。你应该可以从中减去 1。

所以...

  • MONTH(Created) 应该 return int 表示数据库中类似日期时间的列 Created 的月份编号的值
  • MONTH(GETDATE()) 应该 return 当前月份
  • MONTH(GETDATE()) - 1 应该 return 上个月;但是,您应该注意年终换行,因为在这种情况下,上个月将为 0,如果您使用该表达式,则应将数字更正为 12
  • 年的一切都一样,除了你不必注意包装

因此,您应该使用的表达方式是某事,例如...

MONTH(Created) == CASE WHEN MONTH(GETDATE()) = 1 THEN 12 ELSE MONTH(GETDATE()) - 1 END
&& YEAR(Created) == YEAR(GETDATE())