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)
让我知道是否有帮助?
假设我有一些这样的日期:
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)
让我知道是否有帮助?