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

Truy vấn đường ray (postgres) với mảng jsonb

Những gì bạn muốn sử dụng là mã @> nhà điều hành , kiểm tra xem giá trị bên trái của bạn có chứa giá trị bên phải hay không. "Chứa" hoạt động cho cả đối tượng và mảng, vì vậy truy vấn sau sẽ hoạt động:

SELECT * FROM products WHERE specs->'spec_options' @> '["spec1", "spec2"]';

Tôi tin rằng bạn có thể chuyển đổi thành cú pháp tương thích với ActiveRecord như sau:

scope :with_spec_options, ->(spec_options) { 
  where("specs->'spec_option' @> ?", spec_options.to_json) 
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP không tải php_pgsql.dll trên Windows

  2. Cách lấy khóa ngoại của bảng con có cùng giá trị với khóa tăng tự động chính của cha mẹ

  3. Làm cách nào để so sánh ngày trong các trường datetime trong Postgresql?

  4. Cách trích xuất số tuần từ một ngày trong PostgreSQL

  5. PostgreSQL:Hiển thị các bảng trong PostgreSQL