sql >> Database teknologi >  >> RDS >> PostgreSQL

biginteger array-funktioner


Du kan erstatte din egen funktion. Denne er rimelig hurtig:

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;
 

Ring til:

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

Resultat:

{5,6,7,9}

Beholder den oprindelige rækkefølge af arrayet.

Relateret:

  • PostgreSQL unnest() med elementnummer
  • Ekskluder matchede matrixelementer



  1. Hvordan får man adgang til array internt indeks med postgreSQL?

  2. ExecuteBatch-metoden returnerer array med værdi -2 i java

  3. Adgang nægtet for bruger 'root'@'localhost' (ved hjælp af adgangskode:JA) - Ingen privilegier?

  4. Er det god praksis at bruge ContentProvider til at håndtere databaseoperationer?