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

Điền mảng đa chiều

Postgres có một chức năng dành riêng cho mục đích đó chính xác: array_fill() :

Sử dụng nó:

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;

Ghi chú

  • Kích thước mảng ở dạng numeric[7][24] chỉ là tài liệu. Hướng dẫn:
  • Giới thiệu về toán tử gán trong plpgsql: := hoặc = :

  • Nói chung không thể ghi trực tiếp vào một phần tử mảng. Bạn có thể nối hoặc nối / thêm các phần tử. Hoặc gán tổng thể một mảng. Chi tiết trong sách hướng dẫn. Nhưng một tuyên bố như thế này là không thể :

    tarifas[%][%] = 0
  • Giới hạn dưới mặc định của một mảng là 1, không phải 0. Nhưng bạn có thể xác định kích thước mảng tùy ý. Ví dụ:

    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. Làm cách nào để chuyển đổi ngoại lệ RAISE của Postgres thành PDOException?

  2. Amazon RDS cho PostgreSQL Alternatives - ClusterControl cho PostgreSQL

  3. Tạo UUID trong câu lệnh Postgres for Insert?

  4. Thêm vào kết quả tháng còn thiếu với các giá trị từ tháng trước

  5. PostgreSQL - Cách chuyển đổi giây trong trường số thành HH:MM:SS