Использую Postgresql 1) Есть удобная операция конкатенация массива ||, но при такой операции могут быть будут элементов например array[1,2,3] || array[1,4] -> array[1,2,3,1,4] Вопрос как объединить 2 массива при этом убрать дубли элементов? 2) Если ли операция или функция убрать из массива элементы другого массива, то есть array[1,2,3] - array[1,4] -> array[2,3]?
можно комбинировать || ( или array_cat() ) с unnest() и distinct select (ARRAY[1,2,3] || ARRAY[1,4,5]) [1,2,3,1,4,5] select unnest(ARRAY[1,2,3] || ARRAY[1,4,5]) 1 2 3 1 4 5 select distinct unnest(ARRAY[1,2,3] || ARRAY[1,4,5]) 1 3 5 4 2 select array( select distinct unnest(ARRAY[1,2,3] || ARRAY[1,4,5]) ) [1,3,5,4,2] https://www.db-fiddle.com/f/jLiF5ruP3ik5jaXJsEamdV/0