2
是否有任何可用於大整數工作的函數?biginteger數組函數
我找到了一個模塊intarray,但是該模塊的功能僅適用於integer
,而不是bigint
。
我想念一個從數組中刪除項目的函數。就像一個「減」運算符提到模塊中實現:
int[] - int
(刪除匹配來自陣列右邊的參數項)
是否有任何可用於大整數工作的函數?biginteger數組函數
我找到了一個模塊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;
電話:
SELECT arr_subtract('{3,5,6,7,8,9}':: int8[], '{3,4,8}'::int8[]);
結果:
{5,6,7,9}
保持陣列的原始順序。
相關:
陣列是以pg不可改變的,你有沒有申請數字做複製 –