sql - 基于可变开始日期+天间隔,我需要找到当天之后的下一个日期
问题描述
我有一个锚日期,例如。01-01-2020,这是一个变量。我也有几天的间隔,例如。7天,这也是一个变量。我需要在当前日期或之后获取下一个日期,这是锚定日期之后的整数个间隔。
现在是 2020 年 1 月 16 日。我预计的日期是 2020 年 1 月 22 日。
结果日期将在 SELECT 语句中作为一列。select 语句提供变量。
解决方案
考虑:
dateadd(
day,
7 - datediff(day, '2020-01-01', cast(getdate() as date)) % 7,
cast(getdate() as date)
)
锚定日期在哪里,'2020-01-01'
并且7
是间隔。
这通过获取当前日期和锚点之间的天数差异来工作:对于今天 2020-01-16,结果是 15。然后我们得到这个值的模 7(即 1),然后从 7 中减去它(得到 6 ),它为我们提供了我们需要添加到当前日期以获得预期值 (2020-01-22) 的天数。
推荐阅读
- javascript - 在 React 中将状态从一个组件设置到另一个组件的最佳实践方法
- c++ - 从 'pthread_t' 到 'pthread_t* {aka long unsigned int}' 到 'pthread_t* 的 C++ 无效转换
- c++ - 嗨... id_public 变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- visual-studio-code - 编译时未定义对“WinMain@16”的引用
- javafx - JavaFX 模块 javafx.graphics
- json - Firebase 通知在我自己的设备上不起作用
- c# - 使用 IClientModelValidator 在 ASP.NET Core 中使用参数自定义客户端验证属性
- android - 在 Android 中实现自定义日视图
- flutter - Flutter Theme FlatButton textColor in ButtonBar
- vala - Vala:在构造函数中调用超类创建方法