create aggregate min (my_type) ( sfunc = least,stype = my_type);ERROR: Syntax error at or near "least"liNE 2: sfunc = least,^
我错过了什么?
Although the manual calls least
a function:
The GREATEST and LEAST functions select the largest or smallest value from a List of any number of Expressions.
我找不到它了:
\dfS least List of functions Schema | name | Result data type | Argument data types | Type --------+------+------------------+---------------------+------(0 rows)解决方法 至少和最伟大的不是真正的功能;在内部,它们被解析为MinMaxExpr(参见src / include / nodes / primnodes.h).
你可以使用这样的通用函数实现你想要的:
CREATE FUNCTION my_least(anyelement,anyelement) RETURNS anyelement LANGUAGE sql IMMUtable CALLED ON NulL input AS 'SELECT LEAST(,)';
(感谢Erwin Brandstetter关于CALLED ON NulL input以及使用LEAST的想法.)
然后,您可以创建聚合
CREATE AGGREGATE min(my_type) (sfunc = my_least,stype = my_type);
这只适用于my_type的比较函数,否则你必须提出不同的my_least函数.
总结以上是内存溢出为你收集整理的postgresql – create aggregate中的语法错误全部内容,希望文章能够帮你解决postgresql – create aggregate中的语法错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)