sql >> Database >  >> RDS >> PostgreSQL

Postgres:wijzig elk array-element

Je moet uit elkaar halen, verdelen en dan weer optellen.

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

Als u de oorspronkelijke volgorde in de array wilt behouden, gebruikt u 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);

Om dit in Liquibase uit te voeren, moet u een <sql> . gebruiken wijzigen

Online voorbeeld:https://rextester.com/IJGA96691




  1. Mysql gooit uitzondering op Regex

  2. Hoe de dimensie van een DECLAREd-variabele in SP's te krijgen?

  3. ORA verwijderen / afkappen

  4. Gegevens uit mysql lezen en afdrukken in c#