动态日期变量

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 变量以与您所做的完全相同的方式工作。非常感谢 - 这为我节省了很多时间!

以上是关于动态日期变量的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 4.2 - 动态加载日期选择器值 - 新手Q.

oracle 中动态sql语句,表名为变量,怎么解

WPF MVVM 创建动态控件

SQL Server 查询中的动态表名和变量名

获取财政年度查询中的动态日期范围的逻辑

SQL 动态数据透视表列顺序