sql >> Database >  >> RDS >> PostgreSQL

Hoe pas je een functie toe op elk element van een matrixkolom in Postgres?

Verander eerst de array in een set met behulp van unnest:

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

Pas vervolgens een uitdrukking toe op de kolom:

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

Gebruik ten slotte array_agg om de set weer in een array te veranderen:

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


  1. Kan ik een stream gebruiken om een ​​rij in SQL Server (C#) IN te VOEREN of BIJWERKEN?

  2. NULL in MySQL (prestaties en opslag)

  3. ORA-00932:inconsistente datatypes:verwacht - kreeg CLOB

  4. Hoe de werknemers bij hun managers te krijgen?