PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres:модифицира всеки елемент от масива

Трябва да разместите, разделите и след това да съберете обратно.

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

Ако трябва да запазите оригиналния ред в масива, използвайте 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);

За да стартирате това в Liquibase, трябва да използвате <sql> промяна

Онлайн пример: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. Как да получите достъп до вътрешния индекс на масива с postgreSQL?

  2. Разстояние между 2 ТОЧКИ в Postgis в srid 4326 в метри

  3. [Laravel]:SQLSTATE[3F000]:Невалидно име на схема

  4. Кой има документи за фоновите процеси на PostgreSQL?

  5. PostgreSQL 9.2 JDBC драйвер използва клиентска часова зона?