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

Как да приложим функция към всеки елемент от колона на масив в Postgres?

Първо, превърнете масива в набор, като използвате unnest:

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

След това приложете израз към колоната:

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

И накрая, използвайте array_agg, за да превърнете набора обратно в масив:

> 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. Изчисляване на кумулативна сума в PostgreSQL

  2. Грешка при PG COPY:невалиден синтаксис на въвеждане за цяло число

  3. Прави заявка за таблица в postgres

  4. Как групово да вмъкнете само нови редове в PostreSQL

  5. Устройството на Django се проваля, като се посочва DatabaseError:стойността е твърде дълга за тип символ варира (50)