biginteger数组函数

时间:2011-12-20 17:51:13

标签: arrays postgresql postgresql-9.1

是否有可用于大整数的函数?

我找到了一个模块intarray,但此模块中的功能仅适用于integer,而不是bigint

我错过了从数组中删除项目的功能。类似于在提到的模块中实现“减号”运算符:

  

int[] - int(从数组中删除与右参数匹配的条目)

1 个答案:

答案 0 :(得分:4)

2015年更新了更好的版本。
您可以替换自己的功能。这个速度相当快:

CREATE OR REPLACE FUNCTION arr_subtract(int8[], int8[])
  RETURNS int8[] AS
$func$
SELECT ARRAY(
    SELECT a
    FROM   unnest($1) WITH ORDINALITY x(a, ord)
    WHERE  a <> ALL ($2)
    ORDER  BY ord
    );
$func$  LANGUAGE sql IMMUTABLE;

呼叫:

SELECT arr_subtract('{3,5,6,7,8,9}':: int8[], '{3,4,8}'::int8[]);

结果:

{5,6,7,9}

保持数组的原始顺序。

相关: