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

Tìm kiếm mảng jsonb trong PostgreSQL

Bạn có thể sử dụng exists :

SELECT * FROM 
    (SELECT 
        '[{"id":1,"msg":"testing"},{"id":2,"msg":"tested"},{"id":3,"msg":"nothing"}]'::jsonb as data) 
    as jsonbexample 
WHERE 
    EXISTS (SELECT 1 FROM jsonb_array_elements(data) as j(data) WHERE (data#>> '{msg}') LIKE '%est%');

Để truy vấn bảng như được đề cập trong bình luận bên dưới:

SELECT * FROM atable 
WHERE EXISTS (SELECT 1 FROM jsonb_array_elements(columnx) as j(data) WHERE (data#>> '{msg}') LIKE '%est%');



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các hàm PL / pgSQL:Cách trả về một bảng bình thường có nhiều cột bằng cách sử dụng câu lệnh thực thi

  2. FATAL:xác thực mật khẩu không thành công cho postgres của người dùng (postgresql 11 với pgAdmin 4)

  3. PostgreSQL:một số rắc rối khi chèn từ lựa chọn khi xung đột

  4. Lỗi:Không có mô-đun nào có tên psycopg2.extensions

  5. quỳ:cách thích hợp để tạo mảng từ kết quả là gì?