sql >> Databasteknik >  >> RDS >> PostgreSQL

Fråga efter element av array i JSON-kolumnen

Ja, det är möjligt:

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

tbl är ditt tabellnamn, json_col är namnet på JSON-kolumnen.

Mer information i detta relaterade svar:

  • Hur frågar jag med fält i den nya PostgreSQL JSON-datatypen?

Mer om den implicita CROSS JOIN LATERAL i sista stycket i detta relaterade svar:

  • PostgreSQL unnest() med elementnummer

Index för att stödja denna typ av fråga:

  • Index för att hitta ett element i en JSON-array


  1. postgresql date_trunc till godtycklig precision?

  2. Datalagring:REST vs. POSIX för arkiv och HSM

  3. Topp 10 intressanta fakta och tips om MySQL

  4. Är det bättre att använda flera databaser med ett schema vardera, eller en databas med flera scheman?