sql >> Databáze >  >> RDS >> PostgreSQL

Prohledávání pole jsonb v PostgreSQL

Můžete použít 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%');

Chcete-li dotazovat tabulku, jak je uvedeno v komentáři níže:

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



  1. Nelze se připojit k databázi SQLServer v aplikaci Java

  2. Sečtěte top 5 hodnot v MySQL

  3. Volání procedury Oracle s parametrem typu kolekce PL/SQL přes .NET

  4. Oracle ORA-01805 na databázi Oracle 11g