Search Postgresql Archives

Re: Concatenating NULL with JSONB value return NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Sun, Dec 18, 2016 at 6:08 PM, John R Pierce <pierce@xxxxxxxxxxxx> wrote:
On 12/18/2016 2:52 PM, Jong-won Choi wrote:

I have a NULL-able JSONB type column and want to perform upsert, concatenating with the existing value.

NULL does not mean 'NO' value in SQL it means UNKNOWN value. sort of like the 'indeterminate' in math.

maybe you want a NOT NULL json value that you set to ''  or something when its empty.


--
john r pierce, recycling bits in santa cruz




--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Have you tried using CASE?

INSERT INTO Fan  (oid, campaigns, facts)  VALUES (189,'{"campaign-id": "12345"}','{"attended": false}')
ON CONFLICT (oid)
DO UPDATE SET campaigns = EXCLUDED.campaigns,
              CASE WHEN fan.facts is NULL
                   THEN facts = EXCLUDED.facts
                   ELSE facts = fan.facts || EXCLUDED.facts
               END
    RETURNING *;

--
Melvin Davidson
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux