PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres:modifica ogni elemento dell'array

Devi disnidificare, dividere, quindi aggregare di nuovo.

update the_table
  set the_array = array(select t.val / 10 
                        from unnest(the_table.the_array) as t(val));

Se hai bisogno di preservare l'ordine originale nell'array usa with ordinality

update the_table
  set the_array = array(select t.val / 10 
                        from unnest(the_table.the_array) with ordinality as t(val,idx) 
                        order by t.idx);

Per eseguirlo in Liquibase è necessario utilizzare un <sql> cambia

Esempio online:https://rextester.com/IJGA96691