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

创建用户定义函数时使用AS定义输出列别名出现语法错误

问题原因与解决方法

你遇到的错误是因为标量值函数内部的赋值SELECT语句不能使用列别名。你的函数是返回单个INT值的标量函数,这里的SELECT @return = MIN(price)是把聚合结果直接赋值给变量,不是用来生成带列名的结果集,所以加AS 'Lowest Price'属于语法错误。

修正后的函数代码

去掉多余的别名即可,函数只需要完成计算并返回值:

CREATE FUNCTION findlowprice (@oc AS INT)
RETURNS INT
AS
BEGIN 
    DECLARE @return INT

    SELECT @return = MIN(price)
    FROM online_warehouse
    WHERE object_code = @oc

    RETURN @return
END;

如何显示别名

如果希望查询结果里显示'Lowest Price'这个列名,在调用函数的时候添加别名即可,比如:

SELECT dbo.findlowprice(1001) AS 'Lowest Price';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:34:50