SQL-server 'WEEKDAY' 不是可识别的内置函数名称
SQL-server 'WEEKDAY' is not a recognized built-in function name
我正在使用大约一个月前(2021 年 8 月)下载的 SQL Server Management Studio v18.9.2。
我在这里搜索了有关 SO、SQLServerTutorial.net 和 w3schools.com 的帮助,但无法弄清楚我做错了什么。
我试图在结果中获取三列:RentalID
、StartTime
(作为日期时间数据类型存在)和一个包含星期几的新列(星期一、星期二等)。我已将查询限制为仅查询 2021 年 6 月以来的记录。
我试过这三个函数名:weekday、dw、w,大小写组合,都return同样的错误:
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
但我猜不是。
DATENAME()
的正确语法有两个参数:
DATENAME(WEEKDAY, StartTime)
DATENAME(MONTH, StartTime)
您将日期部分用作函数调用而不是 datename
函数的参数:
DATENAME(WEEKDAY, StartTime) AS DayOfWeek
-- Two args ----^
或者
DATENAME(MONTH, StartTime) AS [Month]
-- Two args --^
我正在使用大约一个月前(2021 年 8 月)下载的 SQL Server Management Studio v18.9.2。 我在这里搜索了有关 SO、SQLServerTutorial.net 和 w3schools.com 的帮助,但无法弄清楚我做错了什么。
我试图在结果中获取三列:RentalID
、StartTime
(作为日期时间数据类型存在)和一个包含星期几的新列(星期一、星期二等)。我已将查询限制为仅查询 2021 年 6 月以来的记录。
我试过这三个函数名:weekday、dw、w,大小写组合,都return同样的错误:
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
但我猜不是。
DATENAME()
的正确语法有两个参数:
DATENAME(WEEKDAY, StartTime)
DATENAME(MONTH, StartTime)
您将日期部分用作函数调用而不是 datename
函数的参数:
DATENAME(WEEKDAY, StartTime) AS DayOfWeek
-- Two args ----^
或者
DATENAME(MONTH, StartTime) AS [Month]
-- Two args --^