postgresql – create aggregate中的语法错误

postgresql – create aggregate中的语法错误,第1张

概述尝试创建聚合函数: create aggregate min (my_type) ( sfunc = least, stype = my_type);ERROR: syntax error at or near "least"LINE 2: sfunc = least, ^ 我错过了什么? Although the manua 尝试创建聚合函数:

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中的语法错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1155618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存