我正在寻找一种优雅简单的方法来确定最接近特定日期的星期五的日期。有任何想法吗?

最佳答案

你必须滑动一周的开始(使用 DATEFIRST ),这样你才能让星期二成为一周的中间,然后你只需添加到最近的星期五的天数。

SET NOCOUNT ON
SET DATEFIRST 3

Declare @DateValue DateTime

SET @DateValue = '1/1/2010'

While @DateValue < '2/1/2011'
BEGIN
    PRINT DateAdd (Day, 3 - DatePart (dw, @DateValue), @DateValue)
    SET @DateValue = @DateValue + 1
END

关于sql - 在 T-Sql 中找到特定日期是 "closest"的星期五,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2357973/

10-09 21:07