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

Sammenfletning af sammenkædning af JSON(B)-kolonner i forespørgsel

I Postgres 9.5+ kan du flette JSONB sådan her:

select json1 || json2;

Eller, hvis det er JSON, tving til JSONB om nødvendigt:

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

Eller:

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

(Ellers en hvilken som helst null-værdi i json1 eller json2 returnerer en tom række)

For eksempel:

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

Kudos til @MattZukowski for at påpege dette i en kommentar.



  1. Forskellen mellem lokale og globale midlertidige tabeller i SQL Server

  2. Konverter 'datetime offset' til 'datetime' i SQL Server (T-SQL-eksempler)

  3. Lær MySQL / MariaDB for begyndere – del 1

  4. Problemsæt 1 – Identifikation af enheder