动态日期变量
Posted
技术标签:
【中文标题】动态日期变量【英文标题】:Dynamic Date Variable 【发布时间】:2021-04-29 09:06:24 【问题描述】:有没有办法在我的代码中循环遍历变量的连续数据值?
我的日期变量每周六更新一次,所以每当我更新我的表时,我必须通过每次执行更改数据变量来手动回溯代码。这是一个非常漫长的过程,因为我使用需要 1-2 分钟运行的代码来回溯 30 多个日期。
例如,如果我加载了一个包含 2020-2021 年(目前)每个星期六的日期的辅助表,我可以通过这些值循环变量吗?
Declare @Saturday Date
Set @Saturday = '2021-04-24'
Declare @Friday Date
Set @Friday = '2021-04-30'
;
【问题讨论】:
你可以加入你的日历表。如果您提供完整代码,我们可以看到我们可以做什么 【参考方案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
【讨论】:
这个解决方案似乎是前进的方向。它适用于第一次运行,但所有后续运行都不会通过任何行。可能是由于我的代码中同时包含“@Saturday”和“@Friday”变量。我的“@Friday”变量设置为“dateadd(day,6,@Saturday)”。我可以按照您显示的方式应用这两个变量吗? 更新:它通过添加@Friday 变量以与您所做的完全相同的方式工作。非常感谢 - 这为我节省了很多时间!以上是关于动态日期变量的主要内容,如果未能解决你的问题,请参考以下文章