PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Isi array multidimensi

Postgres memiliki fungsi khusus untuk tujuan itu persis:array_fill() :

Gunakan:

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;

Catatan

  • Dimensi array dalam numeric[7][24] hanyalah dokumentasi. Manual:
  • Tentang operator penugasan di plpgsql::= atau = :

  • Biasanya tidak mungkin untuk menulis ke elemen array secara langsung. Anda dapat menggabungkan atau menambahkan / menambahkan elemen. Atau tetapkan array secara keseluruhan. Rincian dalam manual. Tapi pernyataan seperti ini tidak mungkin :

    tarifas[%][%] = 0
  • Batas bawah default array adalah 1, bukan 0. Tetapi Anda dapat menentukan dimensi array arbitrer. Contoh:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cegah string kosong di bidang VARIASI KARAKTER

  2. Ikhtisar Caching untuk PostgreSQL

  3. Gabungkan trigram dengan pencarian peringkat di Django 1.10

  4. Bagaimana Cotd() Bekerja di PostgreSQL

  5. strftime di sqlite konversi ke postgres