How to getdate minus 1 day SSIS

问题描述 投票:0回答:1

如何在 SSIS 表达式中获取前天? 我有这个表达方式让我知道今天

(DT_WSTR,4)YEAR(GETDATE()) + RIGHT("0"+(DT_WSTR,2)MONTH(GETDATE()),2 + RIGHT("0"+(DT_WSTR,2)DAY(GETDATE()),2)

星期几没关系,我只需要时间倒退一天:)

visual-studio ssis expression
1个回答
1
投票

使用DATEADD()函数

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 表达式正常工作,它只缺少一个括号:

© www.soinside.com 2019 - 2024. All rights reserved.