PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Extraction des noms de clés avec de vraies valeurs à partir de l'objet JSONB

jsonb a un opérateur d'égalité (=; contrairement à json ), pour que vous puissiez écrire

SELECT key
FROM   jsonb_each('{"aaa": true, "bbb": false}')
WHERE  value = jsonb 'true'

(avec jsonb_each_text() vous comptez sur la représentation textuelle de certaines valeurs JSON).

Vous pouvez même inclure des valeurs supplémentaires, si vous le souhaitez :

WHERE  value IN (to_jsonb(TRUE), jsonb '"true"', to_jsonb('truthy'))

IN utilise l'opérateur d'égalité sous le capot.