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

Estrazione dei nomi delle chiavi con valori veri dall'oggetto JSONB

jsonb ha un operatore di uguaglianza (=; a differenza di json ), quindi potresti scrivere

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

(con jsonb_each_text() ti affidi alla rappresentazione del testo di alcuni valori JSON).

Puoi anche includere alcuni valori aggiuntivi, se lo desideri:

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

IN usa l'operatore di uguaglianza sotto il cofano.