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

Các lựa chọn thay thế cho array_agg ()?

Trong PostgreSQL 9.0 hoặc sau đó sử dụng string_agg(val, ',') .
Nó trả về một chuỗi có các dấu phân cách do bạn chọn.

array_agg(val) trả về một mảng , không có gì ngạc nhiên ở đó. Dấu ngoặc nhọn mà bạn thấy là một phần không thể thiếu của ký tự mảng - biểu diễn văn bản của các mảng.

Trong các phiên bản cũ hơn (hoặc thực sự là bất kỳ phiên bản nào), bạn có thể thay thế bằng array_to_string(array_agg(val), ',') .

Hoặc, quick'n'dirty:trim(array_agg(val)::text, '{}' - nếu giá trị không bao giờ bắt đầu hoặc kết thúc bằng dấu ngoặc nhọn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL có vấn đề về quyền sở hữu docker

  2. Định dạng () an toàn như thế nào đối với các truy vấn động bên trong một hàm?

  3. Trả về giá trị cột trước UPDATE chỉ bằng SQL

  4. Làm thế nào để tải dữ liệu vào gấu trúc từ một cơ sở dữ liệu lớn?

  5. jsonb LIKE truy vấn trên các đối tượng lồng nhau trong một mảng