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

Làm thế nào để chỉ nhận jsonb của các khóa cụ thể từ postgres?

Bạn có thể lọc xuống một khóa khá dễ dàng như sau:

jsonb_object(ARRAY[key, jsonb_data -> key])

... hoặc bạn có thể lọc xuống nhiều khóa:

(SELECT jsonb_object_agg(key, value) FROM jsonb_each(jsonb_data) WHERE key IN ('a', 'b'))

Hoặc với một điều kiện phức tạp hơn, nếu bạn muốn:

(
  SELECT jsonb_object_agg(key, value)
  FROM jsonb_each(jsonb_data)
  WHERE
    key NOT LIKE '__%'
    AND jsonb_typeof(value) != 'null'
)

Những loại câu hỏi này có thể được trả lời rất dễ dàng bằng cách chỉ cần đọc tài liệu .



  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 để tăng thông lượng kết nối cho pgbouncer?

  2. Postgresql biến null thành 0

  3. Bản ghi điểm kiểm tra chính không hợp lệ của Docker postgres

  4. Làm cách nào để ghi nhật ký các câu lệnh SQL trong Vapor 3 / Fluent?

  5. Tôi có nên sử dụng hstore trong mô hình dữ liệu được gia hạn không?