PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL दो jsonb वस्तुओं की तुलना करता है

अपडेट किया गया

CREATE OR REPLACE FUNCTION jsonb_diff_val(val1 JSONB,val2 JSONB)
RETURNS JSONB AS $$
DECLARE
  result JSONB;
  v RECORD;
BEGIN
   result = val1;
   FOR v IN SELECT * FROM jsonb_each(val2) LOOP
     IF result @> jsonb_build_object(v.key,v.value)
        THEN result = result - v.key;
     ELSIF result ? v.key THEN CONTINUE;
     ELSE
        result = result || jsonb_build_object(v.key,'null');
     END IF;
   END LOOP;
   RETURN result;
END;
$$ LANGUAGE plpgsql;

प्रश्न:

SELECT jsonb_diff_val(
    '{"a":"aaa", "b":"bbb", "c":"ccc"}'::jsonb,
    '{"a":"aaa", "b":"jjj", "d":"ddd"}'::jsonb
);
            jsonb_diff_val             
---------------------------------------
 {"b": "bbb", "c": "ccc", "d": "null"}
(1 row)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज - दो कॉलम को एक आइटम में एकत्रित करें

  2. Docker पर PostgreSQL:`plpython3u` के तहत अजगर निर्भरता को कैसे स्थापित और चलाएं?

  3. सीरियल का शुरुआती मान बदलें - Postgresql

  4. Plpgsql स्क्रिप्ट में पंक्ति चर से PostGIS ऑब्जेक्ट (जैसे ST_GeomFromText) डालें

  5. यूनिक्स युग को टाइमस्टैम्प में कैसे बदलें