PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да получите размерността на колона ARRAY?

Като начало, размерността на масива не се отразява в типа данни в Postgres. Синтаксисът integer[][] се толерира, но всъщност е само integer[] вътрешно.
Прочетете ръководството тук.

Това означава, че измеренията могат да варират в рамките на един и същ тип данни (една и съща колона на таблица).

За да получите действителните размери на конкретен масив стойност :

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

Или просто да получите броя на измеренията:

SELECT array_ndims(my_arr);  -- 2

Има повече функции за масиви за подобни нужди. Вижте таблица с функции за масиви в ръководството.

Свързани:

Ако трябва да наложите определени размери в колона, добавете CHECK ограничение . За да наложите двумерни масиви:

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 се изключва незабавно при стартиране с docker-compose

  2. Как да използвате курсори от страна на сървъра с psycopg2

  3. Изтриване на PostgreSQL с вътрешно присъединяване

  4. Размер на таблицата на дяловете в PostgreSQL 9.0

  5. Грешка при използване на R за получаване на идентификационни данни от Windows Cred Vault