PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wyszukiwanie tablicy jsonb w PostgreSQL

Możesz użyć 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%');

Aby wyszukać tabelę, jak wspomniano w komentarzu poniżej:

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. Przenieść kolumnę tekstową/bajtową PostgreSQL do dużego obiektu?

  2. Rekord zwrócony z funkcji zawiera połączone kolumny

  3. Dostęp do dynamicznej tabeli PostgreSQL

  4. Jak zrobić podzapytanie DISTINCT ON uporządkowane według oddzielnej kolumny i przyspieszyć?

  5. Błąd PostgreSQL:Relacja już istnieje