PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để có được kích thước của một cột ARRAY?

Đối với người mới bắt đầu, kích thước của một mảng không được phản ánh trong kiểu dữ liệu trong Postgres. Cú pháp integer[][] được chấp nhận, nhưng nó thực sự chỉ là integer[] nội bộ.
Đọc hướng dẫn tại đây.

Điều này có nghĩa là các thứ nguyên có thể khác nhau trong cùng một loại dữ liệu (cùng một cột bảng).

Để nhận kích thước thực tế của một mảng cụ thể giá trị :

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

Hoặc chỉ lấy số thứ nguyên:

SELECT array_ndims(my_arr);  -- 2

Có nhiều chức năng mảng hơn cho các nhu cầu tương tự. Xem bảng các hàm mảng trong hướng dẫn sử dụng.

Có liên quan:

Nếu bạn cần thực thi các thứ nguyên cụ thể trong một cột, hãy thêm CHECK ràng buộc . Để thực thi mảng 2 chiều:

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. Cách nối hai bảng với một trong hai bảng không có khóa chính và độ dài ký tự không giống nhau

  2. thiếu mục nhập mệnh đề FROM cho bảng Grupo cakephp

  3. Lỗi khi cài đặt Psycopg2 trên MacOS 10.9.5

  4. Cách giao dịch_timestamp () hoạt động trong PostgreSQL

  5. Tránh chèn giá trị 'null' vào bảng cơ sở dữ liệu qua JPA