sql >> Database teknologi >  >> RDS >> PostgreSQL

Søger jsonb-array i PostgreSQL

Du kan bruge 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%');

Sådan forespørges tabellen som nævnt i kommentaren nedenfor:

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



  1. Er der en måde at bruge ARRAYs i Entity Framework + PostgreSql

  2. Et første kig på den nye SQL Server Cardinality Estimator

  3. mysql union forkerte kolonner i resultat

  4. Oracle 10g rekursiv forespørgsel