PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak uzyskać wymiarowość kolumny ARRAY?

Na początek wymiar tablicy nie jest odzwierciedlony w typie danych w Postgresie. Składnia integer[][] jest tolerowany, ale tak naprawdę to tylko integer[] wewnętrznie.
Przeczytaj instrukcję tutaj.

Oznacza to, że wymiary mogą się różnić w ramach tego samego typu danych (ta sama kolumna tabeli).

Aby uzyskać rzeczywiste wymiary określonej tablicy wartość :

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

Lub po prostu uzyskać liczbę wymiarów:

SELECT array_ndims(my_arr);  -- 2

Dla podobnych potrzeb istnieje więcej funkcji tablicowych. Zobacz tabelę funkcji tablicowych w podręczniku.

Powiązane:

Jeśli chcesz wymusić określone wymiary w kolumnie, dodaj CHECK ograniczenie . Aby wymusić tablice dwuwymiarowe:

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. Postgres nie używa indeksu, gdy skanowanie indeksu jest znacznie lepszą opcją

  2. Czy są jakieś dobre klienty PostgreSQL dla Linuksa?

  3. 5 sposobów na sprawdzenie, czy tabela istnieje w PostgreSQL

  4. Zarządzanie wysoką dostępnością w PostgreSQL – Część III:Patroni

  5. Co oznacza „wybierz” tę samą tabelę co „z”?