SSIS - 使用日期时间字段计算日期间隔

SSIS - Calculate an interval of dates with datetime fields

假设我有一些这样的日期:

2014-01-23 14:52  (today)
2014-01-22-15:35
2014-01-21 10:35
2014-01-20 09:45
2014-01-19 17:58
2014-01-18 14:05
2014-01-17 13:22

现在我只需要考虑到今天的前 5 天,所以对我来说它们将是:

2014-01-22-15:35
2014-01-21 10:35
2014-01-20 09:45
2014-01-19 17:58
2014-01-18 14:05

在 SSIS 中,我在条件拆分任务中编写了下一条指令:

date > DATEADD("DD",-5,GETDATE()) && date < DATEADD("DD",-1,GETDATE())

但我得到的结果取决于我执行工作流程的时间。

因此,例如,如果我今天 (2014-01-23) 在 13:42 执行它。我不会看到 2014-01-22-15:35 因为它是在一整天之后考虑小时 (13:42) 我需要的是查看从昨天开始的任何时刻的所有数据。

我的问题是,如何指示我需要从今天 00:00 开始的前几天的所有日期?。换句话说,如何在不考虑执行时间的情况下计算前 5 天所有时间的间隔。

如果您在 SQL 中这样做,您可以尝试将 dateTime 转换为日期

Declare @today date = getdate()
Declare @now datetime = getdate()
Cast(@now as date) between dateadd("DD",-5,@today) AND dateadd("DD",-1,@today)

让我知道是否有帮助?