最佳答案
我试图得到一个日期,如星期五,星期六,星期日,星期一等从一个给定的日期。我知道有一个内置函数返回日期名称,例如:
SELECT DATENAME(dw,'09/23/2013') as theDayName
这个 SQL 查询返回:
星期一
这是所有的确定。但我想通过 Month, Day and Year
个别。
我使用内建的 DATEPart 函数从一个日期中检索月、日和年,这样我就可以把它传递给 DATENAME 函数:
SELECT DATEPART(m, GETDATE()) as theMonth -- returns 11
SELECT DATEPART(d, GETDATE()) as theDay -- returns 20
SELECT DATEPART(yy, GETDATE()) as theYear -- returns 2013
现在我有了单独的 Month,Day,Year 值,我把它传递给我的 DATENAME
来得到我想要的日期的 Weekname
:
--my SQL query to return dayName
SELECT (DATENAME(dw, DATEPART(m, GETDATE())/DATEPART(d, myDateCol1)/ DATEPART(yy, getdate()))) as myNameOfDay, FirstName, LastName FROM myTable
这将返回一个不正确的日期名称。我尝试用-替换/with-,这样在 DATENAME 函数中,我的 SQL 查询变成:
SELECT DATENAME(dw,'09/23/2013')
--becomes
SELECT DATENAME(dw,'09-23-2013')
但它仍然从 SQL 查询返回不正确的 dayName。
请指示。