use colchetes
()
. Parece que o compilador tenta vê-lo como details->('email' IS NOT NULL)
. Então você pode corrigir assim:select *
from users
where (details->'email') is not null
demonstração do violino sql
na verdade, para obter registros onde details["email"] é nulo ou a chave de email não existe , você pode usar esta consulta:
select *
from users
where (details->>'email') is null
conforme descrito nesta resposta.