PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Obtenir des enregistrements où la clé de colonne json est nulle

utiliser les parenthèses () . On dirait que le compilateur essaie de le voir comme details->('email' IS NOT NULL) . Vous pouvez donc le réparer comme ceci :

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

démo de violon sql

en fait, pour obtenir des enregistrements où details["email"] est nul ou la clé de messagerie n'existe pas , vous pouvez utiliser cette requête :

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

comme décrit dans cette réponse.