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.