我正在尝试编写 MSSQL 查询,该查询将使用一年中提供的日期返回当天的名称(例如Monday, Tuesday
...)(例如{{1} })。
1 for 1st of January, 2 for 2nd of January
我希望我的第三个查询返回正确的日期名称(在此实例中为星期二),使用提供的一年中的日期(本例中为61)。我理解问题与SELECT DATENAME(dy, '2016-03-01') - returns 61
SELECT DATENAME(dw, '2016-03-01') - returns Tuesday
SELECT DATENAME(dw, 61) - returns Saturday
(DATENAME
)中的日期部分有关,因为它的日期格式不正确,但我没有完整的日期,只有一年中的某一天。< / p>
非常感谢!
答案 0 :(得分:1)
DECLARE @day_of_year int
SELECT @day_of_year = 61
SELECT DATENAME(dw, DATEADD(DAY, @day_of_year - 1, '2016-01-01'))