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

Ottieni record in cui la chiave della colonna json è nulla

usa le parentesi () . Sembra che il compilatore tenti di vederlo come details->('email' IS NOT NULL) . Quindi puoi risolverlo in questo modo:

select *
from users
where (details->'email') is not null

sql fiddle demo

in realtà, per ottenere record in cui dettagli["email"] è nullo o la chiave e-mail non esiste , puoi utilizzare questa query:

select *
from users
where (details->>'email') is null

come descritto in questa risposta.