我正在寻找一种在SQL Server中返回工作日的短日期值的方法。
例如如果这一天是“星期三”,那么我想返回当周的星期三的日期。假设星期一是一周的第一天。
希望这是有道理的。
感谢。
答案 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