use corchetes ()
. Parece que el compilador intenta verlo como details->('email' IS NOT NULL)
. Entonces puedes arreglarlo así:
select *
from users
where (details->'email') is not null
demostración de violín sql
en realidad, para obtener registros donde detalles["correo electrónico"] es nulo o la clave de correo electrónico no existe , puede utilizar esta consulta:
select *
from users
where (details->>'email') is null
como se describe en esta respuesta.