Verwenden Sie Klammern ()
. Sieht so aus, als ob der Compiler versucht, es wie details->('email' IS NOT NULL)
zu sehen . Sie können es also folgendermaßen beheben:
select *
from users
where (details->'email') is not null
SQL-Fiddle-Demo
eigentlich, um Datensätze zu erhalten, bei denen details["email"] null ist oder der E-Mail-Schlüssel nicht existiert , können Sie diese Abfrage verwenden:
select *
from users
where (details->>'email') is null
wie in dieser Antwort beschrieben.