【问题标题】:SQL get date of upcoming Friday [duplicate]SQL获取即将到来的星期五的日期[重复]
【发布时间】:2014-05-21 07:48:27
【问题描述】:

如何使用 SQL 获取即将到来/下周五的日期?

如果当天是星期五,则返回今天的日期。

非常感谢,感谢任何提示和建议!

【问题讨论】:

  • 请展示您的尝试。

标签: sql sql-server sql-server-2008 datediff dateadd


【解决方案1】:
declare @date datetime
select @date = GETDATE()

SET DATEFIRST 6
SELECT DATEADD(d, 7 - DATEPART(dw, @Date), @Date)

【讨论】:

    【解决方案2】:

    试试这个

    SET DATEFIRST 7
    SELECT DATEADD(DAY,(CASE DATEPART(DW,GETDATE()) 
                        WHEN 7 THEN 6 
                        ELSE 6 - DATEPART(DW,GETDATE()) END),GETDATE());
    

    【讨论】:

    • 当我今天执行它时它明天返回,但它应该是后天;)
    • 真的吗?对我来说,它以某种方式返回2014-05-23 13:27:49.760,恰好是后天,星期五
    • 你得到的结果将取决于@@DATEFIRST是什么。
    • @GarethD 啊感谢提示,它用值 7 解释它的工作原理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    相关资源
    最近更新 更多