sql >> Database >  >> RDS >> PostgreSQL

Multidimensionale array vullen

Postgres heeft precies een speciale functie voor dat doel:array_fill() :

Gebruik het:

CREATE OR REPLACE FUNCTION teste()
  RETURNS void AS
$func$
DECLARE
    tarifas numeric[7][24] := array_fill(0, ARRAY[7,24]);
    a int;
    b int;
BEGIN
   -- do something
END
$func$  LANGUAGE plpgsql;

Opmerkingen

  • Array-dimensies in numeric[7][24] zijn slechts documentatie. De handleiding:
  • Over de toewijzingsoperator in plpgsql::= of = :

  • Het is over het algemeen niet mogelijk om rechtstreeks naar een array-element te schrijven. U kunt elementen samenvoegen of toevoegen / toevoegen. Of wijs een array als geheel toe. Details in de handleiding. Maar een uitspraak als deze is niet mogelijk :

    tarifas[%][%] = 0
  • De standaard ondergrens van een array is 1, niet 0. Maar u kunt een willekeurige arraydimensie definiëren. Voorbeeld:

    SELECT '[2:3][2:4]={{7,7,7},{7,7,7}}'::int[]
    



  1. Hoe moet ik PHP $_POST vars in een mysql_query-functie schrijven?

  2. Ontvang uren en minuten (UU:MM) vanaf de datum

  3. Geen geschikte driver gevonden voor jdbc in Spark

  4. HTML-indeling in sp_send_dbmail