Thread: append jsonb array to another jsonb array
Hello all,
I PL/pgSQL I have a few jsonb variables (instantiated each with an array of objects) and I need to append them to produce the final result. All of them are small in size (max 30 each). We are using Pg 11.
Example:
a = [ x, y ]
b = [ z , w ]
result would be [ x, y, z, w ]
What would you consider to be a suitable approach ?
thanks
João
On Wednesday, February 17, 2021, Joao Miguel Ferreira <joao.miguel.c.ferreira@gmail.com> wrote:
We are using Pg 11.Example:a = [ x, y ]b = [ z , w ]result would be [ x, y, z, w ]What would you consider to be a suitable approach ?
That’s called concatenation.
David J.
Hi
st 17. 2. 2021 v 20:44 odesílatel Joao Miguel Ferreira <joao.miguel.c.ferreira@gmail.com> napsal:
Hello all,I PL/pgSQL I have a few jsonb variables (instantiated each with an array of objects) and I need to append them to produce the final result. All of them are small in size (max 30 each). We are using Pg 11.Example:a = [ x, y ]b = [ z , w ]result would be [ x, y, z, w ]What would you consider to be a suitable approach ?
postgres=# select '[10,20,30]'::jsonb || '[100,20]'::jsonb;
┌───────────────────────┐
│ ?column? │
╞═══════════════════════╡
│ [10, 20, 30, 100, 20] │
└───────────────────────┘
(1 row)
┌───────────────────────┐
│ ?column? │
╞═══════════════════════╡
│ [10, 20, 30, 100, 20] │
└───────────────────────┘
(1 row)
Regards
Pavel
thanksJoão
Hi, David, Pavel,
Thank you for your indications
Joao
On Wed, Feb 17, 2021 at 7:50 PM Pavel Stehule <pavel.stehule@gmail.com> wrote:
Hist 17. 2. 2021 v 20:44 odesílatel Joao Miguel Ferreira <joao.miguel.c.ferreira@gmail.com> napsal:Hello all,I PL/pgSQL I have a few jsonb variables (instantiated each with an array of objects) and I need to append them to produce the final result. All of them are small in size (max 30 each). We are using Pg 11.Example:a = [ x, y ]b = [ z , w ]result would be [ x, y, z, w ]What would you consider to be a suitable approach ?postgres=# select '[10,20,30]'::jsonb || '[100,20]'::jsonb;
┌───────────────────────┐
│ ?column? │
╞═══════════════════════╡
│ [10, 20, 30, 100, 20] │
└───────────────────────┘
(1 row)RegardsPavelthanksJoão