ORA-00904错误排查:DATEPART为何是无效标识符?
错误分析与修正
错误原因
你使用的是Oracle数据库,但DATEPART是SQL Server、MySQL等数据库的日期处理函数,Oracle并不支持该函数,因此触发了ORA-00904错误(无效标识符)。
错误位置
根据错误提示,错误出现在第132行,第12列,也就是代码中第一个DATEPART函数名的起始位置。
修正后的Oracle兼容代码
可以用以下两种Oracle支持的方式获取年份:
方式1:使用EXTRACT函数(返回数值类型,推荐)
SELECT EXTRACT(YEAR FROM fechaingreso) AS ingreso, COUNT(*) FROM empleados GROUP BY EXTRACT(YEAR FROM fechaingreso);
方式2:使用TO_CHAR函数(返回字符串类型)
SELECT TO_CHAR(fechaingreso, 'YYYY') AS ingreso, COUNT(*) FROM empleados GROUP BY TO_CHAR(fechaingreso, 'YYYY');
内容的提问来源于stack exchange,提问作者Juank Baños
相关产品推荐
相关产品推荐

