Rad*_*mko 3 arrays postgresql postgresql-9.1
是否有任何可用的函数来处理大整数?
我找到了一个模块intarray,但是这个模块中的函数只能用于integer,而不是bigint。
我错过了从数组中删除项目的函数。类似于上述模块中“减号”运算符的实现:
int[] - int(从数组中删除匹配正确参数的条目)
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;
Run Code Online (Sandbox Code Playgroud)
称呼:
SELECT arr_subtract('{3,5,6,7,8,9}':: int8[], '{3,4,8}'::int8[]);
Run Code Online (Sandbox Code Playgroud)
结果:
{5,6,7,9}
Run Code Online (Sandbox Code Playgroud)
保持数组的原始顺序。
有关的:
| 归档时间: |
|
| 查看次数: |
1879 次 |
| 最近记录: |