sql >> Database teknologi >  >> RDS >> PostgreSQL

Hent poster, hvor json kolonnenøglen er null

brug parenteser () . Det ser ud til, at compileren prøver at se det som details->('email' IS NOT NULL) . Så du kan rette det sådan her:

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

sql violindemo

faktisk for at få poster, hvor detaljer["e-mail"] er null eller e-mail-nøgle ikke eksisterer , kan du bruge denne forespørgsel:

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

som beskrevet i dette svar.



  1. 6 almindelige fejlscenarier for MySQL og MariaDB, og hvordan man løser dem

  2. Hvorfor flere JOINs er dårlige for forespørgsel eller ikke kommer i vejen for Optimizer

  3. Hvor værdi i kolonne, der indeholder kommaseparerede værdier

  4. MySQL vs MongoDB 1000 læser