PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres:ubah setiap elemen array

Anda perlu membongkar, membagi, lalu menggabungkan kembali.

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

Jika Anda perlu mempertahankan urutan asli dalam array, gunakan 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);

Untuk menjalankan ini di Liquibase, Anda perlu menggunakan <sql> ubah

Contoh 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. Bagaimana cara mengakses postgresql dalam Docker dengan sqlalchemy?

  2. Tidak dapat memilih beberapa baris dengan npgsql pada database Portugis

  3. Bagaimana cara mengubah skema beberapa tabel PostgreSQL dalam satu operasi?

  4. Performa Pemindaian Heap Bitmap

  5. Bagaimana cara menyalin struktur satu tabel ke tabel lain dengan batasan kunci asing di psql?