【问题标题】:How to get next Monday date and 3 weeks after next Monday (Sunday) date in SQL Server如何在 SQL Server 中获取下周一日期和下周一(周日)日期后 3 周
【发布时间】:2022-02-22 00:38:56
【问题描述】:

最终目标是检索未来3周的数据(调度数据),准确的下周一(如果今天是周一,本周应该跳过)和下周一后 3 周(应该是周日)。

我昨天(周日)运行了我的代码,它按预期运行,但是当我今天(周一)运行它时,日期并没有转移到下周,它们仍然显示与昨天相同的日期。

SELECT CONVERT(CHAR(10), DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0), 120) AS [Next Monday]
SELECT CONVERT(CHAR(10), DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0) + 20, 120) AS  [3 Weeks After Next Monday (Sunday)]

今天是 2022 年 2 月 21 日,因此下周一日期应该是 2022 年 2 月 28 日,下周一(周日)之后的 3 周应该是 2022 年 3 月 20 日

【问题讨论】:

    标签: sql sql-server date


    【解决方案1】:

    我认为最好的方法是使用天数的分辨率,然后除以 7,以下对您有用吗?

    select DateAdd(day, (DateDiff(day, 0, GetDate()) / 7) * 7 + 7, 0) as NextMonday
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-29
      • 1970-01-01
      相关资源
      最近更新 更多