有没有办法循环遍历代码中变量的连续数据值?
我的日期变量每周六更新,所以每当我更新我的表时,我必须通过每次执行更改数据变量来手动回溯代码。这是一个非常漫长的过程,因为我正在使用需要 1-2 分钟运行的代码回溯 30 多个日期。
例如,如果我加载了一个带有 2020-2021 年(目前)每个星期六的日期的辅助表,我可以在值中循环变量吗?
Declare @Saturday Date
Set @Saturday = '2021-04-24'
Declare @Friday Date
Set @Friday = '2021-04-30'
;
答案 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