>有人知道如何在postgresql中调用自定义运算符吗?
我有以下运算符:
CREATE OR REPLACE FUNCTION algo.fun_temp(IN exp BOOLEAN)
RETURNS INTEGER AS $$
BEGIN
RETURN NOT exp;
END;
$$ LANGUAGE plpgsql;
CREATE OPERATOR algo.~
(
PROCEDURE = algo.fun_temp,
RIGHTARG = BOOLEAN
);
当我尝试用SELECT algo.~ TRUE
呼叫此接线员时,客户抱怨
"ERROR: syntax error at or near "~"
LINE 1: SELECT algo.~ TRUE"
有人知道问题是什么吗?任何帮助,不胜感激。
程
函数
应该返回INTEGER
,你写的内容返回BOOLEAN
:
CREATE OR REPLACE FUNCTION algo.fun_temp(IN exp BOOLEAN)
RETURNS INTEGER AS $$
BEGIN
RETURN (NOT exp)::INTEGER;
END;
$$ LANGUAGE plpgsql;
然后将架构algo
添加到search_path
:
SET search_path = public, algo;