You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server调用DATENAME提示WEEKDAY不是内置函数问题求助

正确实现代码

直接使用以下语句即可实现需求:

SELECT
    RentalID,
    StartTime,
    DATENAME(WEEKDAY, StartTime) AS DayOfWeek
FROM FullData
WHERE StartTime >= '2021-06-01'

如果需要返回数字形式的星期序号,可将DATENAME替换为DATEPART。

报错原因拆解
  • 错误1:DATENAME函数参数格式误用

SQL Server中DATENAME的标准语法为DATENAME(日期部分参数, 日期字段),WEEKDAY/DW/W都属于固定的日期部分参数选项,本身不是函数,不能在后面加括号包裹日期字段。你之前写的DATENAME(WEEKDAY(StartTime))属于语法错误,系统会将WEEKDAY识别为未定义的自定义函数,因此报「WEEKDAY不是可识别的内置函数名」。
测试MONTH时报「datename函数需要2个参数」也是同类问题:MONTH(StartTime)是独立的取月份函数,你将它作为唯一参数传入DATENAME,相当于只给函数传了1个参数,不符合参数要求。

  • 错误2:SQL语句缺失基础关键字

你后续两次调整的代码都漏掉了查询语句必需的开头SELECT关键字,属于基础语法错误,因此触发「WEEKDAY附近有语法错误」的提示。你第三次调整时已经写对了DATENAME(WEEKDAY, StartTime)的参数格式,补全SELECT关键字即可正常运行。

内容的提问来源于stack exchange,提问作者LNV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:39:00