如何在 SSIS 表达式中获取前天? 我有这个表达方式让我知道今天
(DT_WSTR,4)YEAR(GETDATE()) + RIGHT("0"+(DT_WSTR,2)MONTH(GETDATE()),2 + RIGHT("0"+(DT_WSTR,2)DAY(GETDATE()),2)
星期几没关系,我只需要时间倒退一天:)
DATEADD("dd", -1,GETDATE())
鉴于您在问题中包含的表达方式,它看起来像这样:
(DT_WSTR,4)YEAR(DATEADD("dd", -1, GETDATE())) + RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("dd", -1, GETDATE())), 2)+ RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", -1, GETDATE())), 2)
备用包装解决方案
与其重复 DATEADD()..3 次,不如使用对表达式结果为“昨天”的变量的引用。
创建一个名为 Yesterday [@User::Yesterday] 的 DateTime 变量。在该变量中,放置表达式:
DATEADD("dd", -1,GETDATE())
然后创建第二个变量并在其中引用 [@User::Yesterday]:
(DT_WSTR,4)YEAR(@[User::Yesterday]) + RIGHT("0" + (DT_WSTR,2)MONTH(@[User::Yesterday]), 2) + RIGHT("0" + (DT_WSTR,2)DAY(@[User::Yesterday]), 2)
顺便说一句,如果您无法使发布的 SSIS 表达式正常工作,它只缺少一个括号: