我想写一个存储过程,获取一个数组作为输入参数,并排序该数组并返回排序的数组。
请帮忙
排序整数数组的最好方法是毫无疑问地使用
intarray extension,这将比任何sql公式快得多:
原文链接:https://www.f2er.com/postgresql/193024.htmlCREATE EXTENSION intarray; SELECT sort( ARRAY[4,3,2,1] );
适用于任何数组类型的函数是:
CREATE OR REPLACE FUNCTION array_sort (ANYARRAY) RETURNS ANYARRAY LANGUAGE sql AS $$ SELECT ARRAY(SELECT unnest($1) ORDER BY 1) $$;
(在其他地方讨论后,我已经用Pavel’s slightly faster one替代了我的版本)。