On Fri, Dec 18, 2020 at 8:24 AM Joel Jacobson <j...@compiler.org> wrote:

> The || operator for the jsonb type has a surprising behaviour.
>
> Instead of appending the right operand "as is" to the left operand,
> it has a magic behaviour if the right operand is an array,
> in which case it will append the items of the array,
> instead of appending the array itself as a single value.
>
>
It's not magic, and it is documented clearly.

I'll agree that the description could discuss the case explicitly, and the
array||scalar case could be added to the examples.


> Suggestions welcome if there is a better way to solve this problem.
>
>
As you are writing literals just put an array in the to-be-merged array.

select '["a","b"]'::jsonb || '[["c","d"]]'::jsonb

David J.

Reply via email to