首页 > 解决方案 > 如何从 sql 中的给定日期获取下一个特定日期?

问题描述

我想从特定日期找到即将到来的星期四日期。例如,我想要从 22-09-2021 日期开始的 23-09-2021(星期四)。我想要从 2021 年 9 月 23 日到 2021 年 9 月 30 日。无论我提出什么日期,我都希望在星期四到来。

标签: sqlsql-server

解决方案


这是一个添加正确天数的问题。假设您使用的是美国英语语言版本的 SQL Server,您可以使用蛮力方法:

select dateadd(day,
               (case datename(weekday, datecol)
                   when 'Monday' then 3
                   when 'Tuesday' then 2
                   when 'Wednesday' then 1
                   when 'Thursday' then 0  -- or perhaps 7
                   when 'Friday' then 6
                   when 'Saturday' then 5
                   when 'Sunday' then 4
                end),
               datecol
              ) as the_thursday

如果需要非英语支持,您可以使用format().


推荐阅读