PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Обединяване на конкатениращи JSON(B) колони в заявка

В Postgres 9.5+ можете да обедините JSONB по следния начин:

select json1 || json2;

Или, ако е JSON, принудително към JSONB, ако е необходимо:

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

Или:

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

(В противен случай всяка нулева стойност в json1 или json2 връща празен ред)

Например:

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

Поздравления на @MattZukowski, че посочи това в коментар.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JPA flush срещу commit

  2. Две SQL LEFT JOINS дават неправилен резултат

  3. Как да излезете от помощната програма на командния ред PostgreSQL:psql

  4. Справяне с бавни заявки с PostgreSQL

  5. Добавете поредния индикатор към дата в PostgreSQL