Nachkommastellen bei Mittelwertberechnung

Hallo,

ich habe eine ziemliche Anfängerfrage. Wie kann man bei Postgres bei einer Mittelwertberechnung (mit avg(Feld) ) einstellen wie viele Nachkommastellen er berechnen bzw. ausgeben soll?

Vielen Dank
Gruß
SWD

to_char() ist Dein Freund:

test=# select avg(s) from generate_series(1,5)s;
        avg
--------------------
 3.0000000000000000
(1 row)

test=*# select to_char(avg(s), '999.99') from generate_series(1,5)s;
 to_char
---------
    3.00
(1 row)

Andreas

Danke,

das hat hingehauen! Allerdings macht er mir jetzt ein Textfeld aus der Spalte. Ich würde aber wegen der weiteren Verwendung dieser Abfrage die Spalten gerne als Zahlenfeld belassen.

Also nach dem speichern der Sicht passiert folgendes mit dem Feld:

to_char(avg(
CASE rd.id_merkmal
WHEN 35 THEN rd.rd_wert
ELSE NULL::real
END), 9.9::text) AS ev

Die ganze CASE Sache habe ich, um eine Kreuztabelle zu generieren. Aber unabhängig davon fügt er mir immer dieses “::text” ein und das kann ich auch nicht durch “::real” ersetzen?

Danke

Wenn Du damit weiterrechnen willst, warum dann eine Festlegung der Nachkommastellen VOR der Weiterberechnung?
Aber okay, dann mache halt avg()::numeric(vor,nachkommastellen)

Andreas

Vielen Dank,

hab bei google auch noch to_number gefunden. Ich will nicht wirklich weiterrechnen, aber es soll im Access-Frontend angezeigt werden und in der Spalte nach bestimmten Zahlen gefiltert werden können. Und Access macht aus text-Spalten immer Memo-Felder, was ziemlich blöde ist. Aber wie gesagt habs jetzt.
Merci