如何从本日获得本周的日期

时间:2016-04-27 21:38:25

标签: sql sql-server

我正在寻找一种在SQL Server中返回工作日的短日期值的方法。

例如如果这一天是“星期三”,那么我想返回当周的星期三的日期。假设星期一是一周的第一天。

希望这是有道理的。

感谢。

1 个答案:

答案 0 :(得分:1)

我确信这是一个更好的解决方案,但这可以为您提供所需的结果:

Declare @DayOfWeek Varchar (10) = 'Wednesday'

;With Date (Date) As
(
    Select  Convert(Date, DateAdd(Week, DateDiff(Week, 0, GetDate()), 0) - 1) Union All
    Select  DateAdd(Day, 1, Date)
    From    Date
    Where   Date < DateAdd(Day, 6, DateAdd(Week, DateDiff(Week, 0, GetDate()), 0) - 1)
)
Select  Date
From    Date
Where   DateName(WeekDay, Date) = @DayOfWeek

结果:

Date
2016-04-27