sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur får man bara jsonb för specifika nycklar från postgres?

Du kan filtrera ner till en enda nyckel ganska enkelt så här:

jsonb_object(ARRAY[key, jsonb_data -> key])

...eller så kan du filtrera ner till flera nycklar:

(SELECT jsonb_object_agg(key, value) FROM jsonb_each(jsonb_data) WHERE key IN ('a', 'b'))

Eller på ett mer komplext tillstånd, om du vill:

(
  SELECT jsonb_object_agg(key, value)
  FROM jsonb_each(jsonb_data)
  WHERE
    key NOT LIKE '__%'
    AND jsonb_typeof(value) != 'null'
)

Den här typen av frågor kan besvaras mycket enkelt genom att helt enkelt läsa dokumentationen .



  1. PHP.net säger att md5() och sha1() är olämpliga för lösenord?

  2. SQL-serverfråga för att få listan över kolumner i en tabell tillsammans med datatyper, NOT NULL och PRIMÄRNYCKEL-begränsningar

  3. Mysql förbättrar SELECT-hastigheten

  4. MOD_REWRITE HJÄLP!