0

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

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 天的所有时间的间隔。

4

1 回答 1

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)

让我知道这是否有帮助?

于 2015-01-23T21:21:15.783 回答