sql >> Database >  >> RDS >> PostgreSQL

biginteger array-functies


U kunt uw eigen functie vervangen. Deze is redelijk snel:

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;

Bel:

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

Resultaat:

{5,6,7,9}

Behoudt de oorspronkelijke volgorde van de array.

Gerelateerd:

  • PostgreSQL unnest() met elementnummer
  • Overeenkomende array-elementen uitsluiten



  1. Oracle WITH en MATERIALIZE hint fungeert als autonome transactie voor functies

  2. Incrementeel laden in SSIS

  3. Zijn geneste transacties toegestaan ​​in MySQL?

  4. Hoe correct om te gaan met datums in querybeperkingen