PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres :modifier chaque élément du tableau

Vous devez désimbriquer, diviser, puis agréger.

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

Si vous avez besoin de conserver l'ordre d'origine dans le tableau, utilisez 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);

Pour l'exécuter dans Liquibase, vous devez utiliser un <sql> changer

Exemple en ligne :https://rextester.com/IJGA96691