PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgres:zmodyfikuj każdy element tablicy

Musisz rozgnieździć, podzielić, a następnie zagregować z powrotem.

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

Jeśli chcesz zachować oryginalną kolejność w tablicy, użyj 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);

Aby uruchomić to w Liquibase, musisz użyć <sql> zmiana

Przykład online:https://rextester.com/IJGA96691




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgis / Geodjango:Nie można określić wersji PostGIS dla bazy danych

  2. Jak ustawić zmienną kontekstową dla użytkownika/połączenia?

  3. Co to jest bajt typu danych i kiedy powinienem go użyć?

  4. Trwała baza danych przy użyciu woluminów Docker

  5. PostgreSQL - utwórz kolumnę auto-inkrementacji dla klucza innego niż podstawowy