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

Oracle Cast và MULTISET có sẵn trong POSTGRES

Thật không may, PostgreSQL không thực sự hỗ trợ chuẩn SQL MULTISET toán tử, cũng không phải các tập hợp lồng nhau nói chung. Bạn có thể tạo một ARRAY trong tổng số ROW loại như thế này:

select array[row(1, 2), row(3, 4)]

Và bạn thậm chí có thể hủy hợp nhất mảng ở trên

select * from unnest(array[row(1, 2), row(3, 4)]) t(a int, b int)

Vì vậy, nếu một ARRAY trong tổng số ROW có thể chấp nhận được đối với bạn, bạn có thể viết một cái gì đó như thế này:

select array_agg(row(a, b))
from (
  select ...
) t(a, b)

Nếu bạn có OBJECT của riêng mình nhập PostgreSQL, bạn có thể truyền ROW ẩn danh với loại của bạn:

select array_agg(row(a, b)::your_type)
from (
  select ...
) t(a, b)



  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 kết nối với máy chủ PostgreSQL từ máy ảo vagrant

  2. Trả lại id nếu một hàng tồn tại, INSERT nếu không

  3. Kế hoạch thực thi truy vấn thay đổi thủ công PostgreSQL để buộc sử dụng sắp xếp và truy cập tuần tự thay vì quét toàn bộ

  4. Cách đặt lược đồ mặc định trong Yii2

  5. Liệt kê các cột có chỉ mục trong PostgreSQL