sql >> Databáze >  >> RDS >> PostgreSQL

Extrahování názvů klíčů se skutečnými hodnotami z objektu JSONB

jsonb má operátor rovnosti (=; na rozdíl od json ), takže můžete psát

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

(pomocí jsonb_each_text() spoléháte na textovou reprezentaci některých hodnot JSON).

Pokud chcete, můžete dokonce zahrnout některé další hodnoty:

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

IN používá operátor rovnosti pod kapotou.




  1. Oracle ekvivalentní java System.currentTimeMillis()?

  2. Jak náhodně vyberu jedinečné páry řádků z tabulky?

  3. Rozdíl mezi databázemi MySQL/SQLite/atd?

  4. Kurzor SQLiteDatabase je prázdný pouze na zařízeních se systémem Android 5.0+