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

Bagaimana cara mendapatkan dimensi kolom ARRAY?

Sebagai permulaan, dimensi array tidak tercermin dalam tipe data di Postgres. Sintaks integer[][] ditoleransi, tetapi sebenarnya hanya integer[] internal.
Baca manualnya di sini.

Artinya, dimensi dapat bervariasi dalam tipe data yang sama (kolom tabel yang sama).

Untuk mendapatkan dimensi sebenarnya dari array tertentu nilai :

SELECT array_dims(my_arr);  -- [1:2][1:3]

Atau hanya untuk mendapatkan jumlah dimensi:

SELECT array_ndims(my_arr);  -- 2

Ada lebih banyak fungsi array untuk kebutuhan serupa. Lihat tabel fungsi array di manual.

Terkait:

Jika Anda perlu menerapkan dimensi tertentu dalam kolom, tambahkan CHECK kendala . Untuk menerapkan array 2 dimensi:

ALTER TABLE tbl ADD CONSTRAINT tbl_arr_col_must_have_2_dims
CHECK (array_ndims(arr_col) = 2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. analisis dimensi dan unit dalam database SQL

  2. Masalah regex postgres

  3. Ubah jenis kolom dan atur bukan null

  4. Bagaimana cara melemparkan array json ke array teks?

  5. Hapus duplikat di postgres