【发布时间】:2021-11-07 19:10:51
【问题描述】:
我正在使用大约一个月前(2021 年 8 月)下载的 SQL Server Management Studio v18.9.2。 我在 SO、SQLServerTutorial.net 和 w3schools.com 上搜索了此处的帮助,但无法弄清楚我做错了什么。
我试图在结果中获得三列:RentalID、StartTime(作为日期时间数据类型存在)和一个带有星期几的新列(星期一、星期二等) .自 2021 年 6 月以来,我已将查询限制为仅记录。
我试过这三个函数名:weekday、dw和w,大小写组合,都返回相同的错误:
SELECT RentalID, StartTime, DATENAME(WEEKDAY(StartTime)) AS DayOfWeek
FROM FullData
WHERE StartTime > '2021-05-31'
错误信息:'WEEKDAY' is not a recognized built-in function name。
然后我得到一个错误:
DATENAME(WEEKDAY(StartTime)) AS DayOfWeek
FROM FullData
WHERE StartTime > '2021-05-31'
错误信息:Incorrect syntax near 'WEEKDAY'。
然后我得到一个错误:
DATENAME(WEEKDAY, StartTime) AS DayOfWeek
FROM FullData
WHERE StartTime > '2021-05-31'
错误信息:Incorrect syntax near 'WEEKDAY'。
当我尝试MONTH 函数时,我得到一个不同的错误:
SELECT RentalID, StartTime, DATENAME(MONTH(StartTime)) AS Month
FROM FullData
WHERE StartTime > '2021-05-31'
ORDER BY Month
错误消息:The datename function requires 2 argument(s). 我认为这两个参数是MONTH 和StartTime,但我猜不是。
【问题讨论】:
-
您尝试在第一个语句中像函数一样使用
WEEKDAY,然后在后面的语句中省略SELECT。这两个在我看来都像是印刷错误。 -
“我正在使用 SQL Server Management Studio v18.9.2” 这与您使用的 SQL Server 版本无关。这就像在被问及您安装了哪个 Windows 版本时告诉别人您正在使用 Office 2013。
标签: sql-server date weekday