如何通过在 SQL Server 中传递“ddd”格式来检索“WEEKDAY”部分?

例如,如果我通过 'tue' 并且响应将为 3,因为

1 - 星期日
2 - 星期一
3 - 星期二

... 像那样。

我通过执行以下查询获得当前日期的“WEEKDAY”。

select DATEPART(WEEKDAY, GETDATE())

最佳答案

这将返回符合当前 DATEFIRST 设置的给定短日期名称的日期编号。

--Example day name
DECLARE @Day CHAR(3) = 'Tue'

SELECT
    DATEPART(WEEKDAY,DATEADD(DAY, Number, GETDATE())) DayNumber
FROM
    master..spt_values N
WHERE
    N.type = 'P' AND N.number BETWEEN 1 AND 7
    AND DATENAME(WEEKDAY,DATEADD(DAY, Number, GETDATE())) LIKE @Day+'%'

关于sql-server - SQL Server : selecting 'WEEKDAY' part by passing date in 'ddd' format,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36147858/

10-11 21:33