动态日期变量

时间:2021-04-29 09:06:24

标签: sql sql-server date

有没有办法循环遍历代码中变量的连续数据值?

我的日期变量每周六更新,所以每当我更新我的表时,我必须通过每次执行更改数据变量来手动回溯代码。这是一个非常漫长的过程,因为我正在使用需要 1-2 分钟运行的代码回溯 30 多个日期。

例如,如果我加载了一个带有 2020-2021 年(目前)每个星期六的日期的辅助表,我可以在值中循环变量吗?

Declare @Saturday Date
Set @Saturday = '2021-04-24'

Declare @Friday Date
Set @Friday = '2021-04-30'
;

1 个答案:

答案 0 :(得分:1)

我有一个类似的事情,我必须每天重新计算值,如果某些配置发生更改,我们必须每天将这些更改回溯 x 天

我使用了这样的方法来实现结果,基本上是从最远的点开始向后移动,但如果更可取,您可以以另一种方式运行它。另一方面,我运行的代码每次执行需要几秒钟,而不是 1-2 分钟。

Declare @Saturday Date
Set @Saturday = '2020-01-04';

while @Saturday < GETDATE()

begin
print @saturday; /*do something*/
set @Saturday = DATEADD(WEEK, 1, @Saturday);
end
相关问题