Объект слияния снежинки / json - PullRequest
0 голосов
/ 01 ноября 2018

есть ли способ как объединить 2 объекта в снежинку? Я нашел https://docs.snowflake.net/manuals/sql-reference/functions/object_insert.html,, но он устанавливает / обновляет только один ключ за раз. Я хочу объединить 2 объекта (что-то вроде Object.assign() в js). Также пытался найти обходной путь путем преобразования в массив, объединения и построения объекта из этого массива, но не смог заставить его работать.

Спасибо!

1 Ответ

0 голосов
/ 03 ноября 2018

Snowflake не имеет встроенной функции, подобной этой, но тривиально использовать, ну, в общем, Object.assign() внутри UDF JavaScript Snowflake :)

create or replace function my_object_assign(o1 VARIANT, o2 VARIANT) 
returns VARIANT 
language javascript 
as 'return Object.assign(O1, O2);';

select my_object_assign(parse_json('{"a":1,"b":2,"c":3}'), parse_json('{"c":4, "d":5}')) as res;
-----------+
    RES    |
-----------+
 {         |
   "a": 1, |
   "b": 2, |
   "c": 4, |
   "d": 5  |
 }         |
-----------+
...