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

MySQL如何在表别名字段中调用函数?报错FUNCTION t1.YEAR不存在

问题分析与解决

你的错误出在给内置SQL函数YEAR加了表别名前缀。YEAR是数据库的全局内置函数,不属于某个表,不能用t1.来修饰它——数据库会误认为你要调用t1表的自定义YEAR函数,但这个函数根本不存在,所以抛出了报错。

正确的写法是把表别名加在函数的参数(也就是字段)上,明确告诉函数要处理t1表的time_in字段,修改后的SQL语句如下:

SELECT t1.item,
t1.quantity,
t1.time_in,
YEAR(t1.time_in) AS year
FROM rec AS t1

如果后续要做自连接,只需要在FROM子句中再次引入表并设置新别名(比如t2),然后在WHERE或JOIN条件中关联两个表即可,函数的用法保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:25:19