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

Forespørgsel efter element af array i JSON-kolonnen

Ja, det er muligt:

SELECT *
FROM   tbl t, json_array_elements(t.json_col->'emails') AS elem
WHERE  elem->>'id' = 123;

tbl er dit tabelnavn, json_col er navnet på JSON-kolonnen.

Flere detaljer i dette relaterede svar:

  • Hvordan forespørger jeg ved hjælp af felter i den nye PostgreSQL JSON-datatype?

Mere om den implicitte CROSS JOIN LATERAL i det sidste afsnit af dette relaterede svar:

  • PostgreSQL unnest() med elementnummer

Indeks til at understøtte denne form for forespørgsel:

  • Indeks til at finde et element i et JSON-array


  1. Hvilken datamaskeringsfunktion skal jeg bruge?

  2. Tilføj kolonner til en eksisterende tabel i SQL Server-database

  3. 2 måder at tilføje førende nuller i PostgreSQL

  4. Hvordan listes aktive/åbne forbindelser i Oracle?