sql >> Databasteknik >  >> RDS >> PostgreSQL

Extraherar nyckelnamn med sanna värden från JSONB-objekt

jsonb har en likhetsoperatör (=; till skillnad från json ), så att du kan skriva

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

(med jsonb_each_text() du litar på vissa JSON-värdens textrepresentation).

Du kan till och med inkludera några ytterligare värden, om du vill:

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

IN använder jämställdhetsoperatören under huven.




  1. 6 sätt att kontrollera om en tabell finns i SQL Server (T-SQL-exempel)

  2. LENGTH() Funktion i Oracle

  3. Infoga PostGIS-objekt (t.ex. ST_GeomFromText) från radvariabler i plpgsql-skript

  4. Hur man installerar SQLite på macOS