/
telnov.ob
/
postgresql-patterns-library
Обзор
Документация
Войти
/
telnov.ob
/
postgresql-patterns-library
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
functions/json/jsonb_object_diff.sql
13 строк
569 B
Rinat Mukhtarov
json[b]_*() moved to separate dir
20 окт 2023, 18:33
20 окт 2023, 18:33
dba57f2
Код
Авторство
О чём код?
CREATE OR REPLACE FUNCTION public.jsonb_object_diff(l JSONB, r JSONB) RETURNS JSONB LANGUAGE sql set search_path = '' AS $func$ SELECT jsonb_object_agg(a.key, a.value) FROM (SELECT key, value FROM jsonb_each(l)) AS a(key,value) LEFT OUTER JOIN (SELECT key, value FROM jsonb_each(r)) b(key,value) ON a.key = b.key WHERE a.value != b.value OR b.key IS NULL; $func$; SELECT public.jsonb_object_diff('{"a":1,"b":2}'::JSONB, '{"a":1,"b":null}'::JSONB); --Hstore style delete "-" operator for jsonb: https://github.com/glynastill/pg_jsonb_delete_op