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

PostgreSQL自定义MAX函数出现语法错误求助

PostgreSQL自定义MAX函数出现语法错误求助

嗨,我仔细看了你的代码和报错信息,问题其实很明确——你的IF条件里的大于号被写成了HTML转义字符>,PostgreSQL完全不认识这个转义后的符号,所以才会在IF那行抛出语法错误。

先把你出错的代码贴出来方便对照:

CREATE FUNCTION MAX(v1 integer, v2 integer)
 RETURNS integer AS $$
BEGIN
 IF (v1>v2) THEN
  RETURN v1;
 ELSE
 RETURN v2;
 END IF;
END;
$$ LANGUAGE plpgsql;

你只需要把>替换成正常的大于号>,代码就能正常运行了。修正后的完整代码如下:

CREATE FUNCTION MAX(v1 integer, v2 integer)
 RETURNS integer AS $$
BEGIN
 IF (v1 > v2) THEN
  RETURN v1;
 ELSE
  RETURN v2;
 END IF;
END;
$$ LANGUAGE plpgsql;

另外顺便提一句,PostgreSQL本身就内置了GREATEST()函数,功能和你自定义的这个MAX完全一样,比如SELECT GREATEST(3,5);就会返回5,其实你没必要自己重复造轮子啦😉

备注:内容来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 13:09:35