sql >> Databasteknik >  >> RDS >> PostgreSQL

Slår samman Sammanfogande JSON(B)-kolumner i fråga

I Postgres 9.5+ kan du slå samman JSONB så här:

select json1 || json2;

Eller, om det är JSON, tvinga till JSONB om det behövs:

select json1::jsonb || json2::jsonb;

Eller:

select COALESCE(json1::jsonb||json2::jsonb, json1::jsonb, json2::jsonb);

(Annars kan valfritt nullvärde i json1 eller json2 returnerar en tom rad)

Till exempel:

select data || '{"foo":"bar"}'::jsonb from photos limit 1;
                               ?column?
----------------------------------------------------------------------
 {"foo": "bar", "preview_url": "https://unsplash.it/500/720/123"}

Kudos till @MattZukowski för att du påpekade detta i en kommentar.



  1. Hur man formaterar siffror med ett minus/plus-tecken i Oracle

  2. Fullständig återställning av ett MySQL- eller MariaDB Galera-kluster från säkerhetskopiering

  3. Databas som kan hantera>500 miljoner rader

  4. Välj de sista N raderna från MySQL