sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur applicerar man en funktion på varje element i en matriskolumn i Postgres?

Gör först om arrayen till en uppsättning med unnest:

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

Använd sedan ett uttryck på kolumnen:

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

Slutligen, använd array_agg för att förvandla uppsättningen tillbaka till en array:

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


  1. LAST_DAY() Exempel – MySQL

  2. Hur man omdefinierar kolumner som returneras av en lagrad procedur i SQL Server

  3. Hur WEEKOFYEAR() fungerar i MariaDB

  4. Tabellnamnsdilemma:Singular vs. pluralnamn