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

Hợp nhất các cột JSON (B) kết hợp trong truy vấn

Trong Postgres 9.5+, bạn có thể hợp nhất JSONB như thế này:

select json1 || json2;

Hoặc nếu đó là JSON, hãy cưỡng chế JSONB nếu cần:

select json1::jsonb || json2::jsonb;

Hoặc:

select COALESCE(json1::jsonb||json2::jsonb, json1::jsonb, json2::jsonb);

(Nếu không, bất kỳ giá trị null nào trong json1 hoặc json2 trả về một hàng trống)

Ví dụ:

select data || '{"foo":"bar"}'::jsonb from photos limit 1;
                               ?column?
----------------------------------------------------------------------
 {"foo": "bar", "preview_url": "https://unsplash.it/500/720/123"}

Kudo cho @MattZukowski vì đã chỉ ra điều này trong một nhận xét.



  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ỗi cú pháp ở cuối đầu vào trong PostgreSQL

  2. Tìm kiếm trên nhiều bảng và cũng hiển thị tên bảng trong các hàng kết quả

  3. Bắt ngày với chênh lệch múi giờ

  4. PostgreSQL Replication để phục hồi sau thảm họa

  5. Cách pg_sleep_until () hoạt động trong PostgreSQL