PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để áp dụng một hàm cho từng phần tử của cột mảng trong Postgres?

Đầu tiên, biến mảng thành một tập hợp bằng cách sử dụng unnest:

> SELECT n FROM unnest(ARRAY[1.53224,0.23411234]) AS n;
     n      
------------
    1.53224
 0.23411234
(2 rows)

Sau đó, áp dụng một biểu thức cho cột:

> SELECT ROUND(n, 2) FROM unnest(ARRAY[1.53224,0.23411234]) AS n;
 round 
-------
  1.53
  0.23
(2 rows)

Cuối cùng, sử dụng array_agg để biến tập hợp trở lại thành một mảng:

> SELECT array_agg(ROUND(n, 2)) FROM unnest(ARRAY[1.53224,0.23411234]) AS n;
  array_agg  
-------------
 {1.53,0.23}
(1 row)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để sử dụng toán tử% từ phần mở rộng pg_trgm?

  2. Cách Cos () hoạt động trong PostgreSQL

  3. Cách xử lý các diễn biến cơ sở dữ liệu Play Framework 2 trong quá trình sản xuất

  4. CẬP NHẬT với ORDER BY

  5. Sử dụng bảng SAO CHÉP nhị phân FROM với psycopg2