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

Làm thế nào để nối tất cả các kết quả từ hàng bảng?

Nhanh và bẩn:

SELECT t::text FROM tbl t WHERE id = 1;
  • t là một bí danh cho bảng và không hoàn toàn cần thiết. Bạn cũng có thể sử dụng tên bảng gốc. Nhưng nếu bạn có một cột cùng tên thì nó sẽ được ưu tiên hơn.

  • Vì vậy, t đại diện cho loại hàng của bảng, tự động bị ép buộc đối với biểu diễn văn bản trên đầu ra.
    Tôi đã thêm một diễn viên rõ ràng vào make it text cũng như nội bộ - trong trường hợp bạn muốn làm bất cứ điều gì với nó ...
    t::text là ký hiệu viết tắt của Postgres cho cast (t AS text) , mà bạn cũng có thể sử dụng. Chi tiết trong sách hướng dẫn.

  • Bạn có thể muốn cắt bỏ dấu ngoặc đơn (single!) Đầu và cuối biểu thị loại hàng:

    SELECT right(left(t::text, -1), -1))
    FROM   tbl AS t
    WHERE  id = 1;
    
  • "dirty", vì bạn nhận được ký hiệu hàng Postgres, dấu phân tách chỉ là dấu phẩy mà bạn yêu cầu, nhưng một số giá trị cũng được thoát ra và / hoặc được trích dẫn kép nếu cầ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. Chia sẻ kết nối với db postgres trên các quy trình bằng Python

  2. Postgresql 9.x:Chỉ mục để tối ưu hóa các truy vấn `xpath_exists` (XMLEXISTS)

  3. Thêm ràng buộc để làm cho cột duy nhất trên mỗi nhóm hàng

  4. Số cột tối đa trong một truy vấn chọn PostgreSQL là bao nhiêu

  5. Sự khác biệt giữa postgres và postgresql_psycopg2 làm công cụ cơ sở dữ liệu cho django là gì?