Runden von Zahlen

Kann mir jemand hiebei helfen?`

Ich möchte Beträge auf die nächsten 5 Euro Stellen runden.

Beispiel: 4.47 Euro → 5 Euro , 13,28 Euro 15 Euro usw. Also immer auf die nächste 5 Euro Stelle runden.

Grüße Sawell

Dividiere die Zahl durch 5, runde dieses Ergebnis zu einer ganzen Zahl, multipliziere das Ergebnis mit 5:

 round(13.28/5) * 5 → 15
 round(4.47/5) * 5 → 5
1 „Gefällt mir“

Super, ich danke Dir.

Kann ich damit z.B auch eine ganze Colum Runden lassen?

Falls ja wie wäre dafür der Code?

Select colum_name round(13.28/5) * 5 ) = 15
So hab ich es vorher versucht aber das ist falsch.

Ich habe auch verschiedene Beträge wenn ich Deine Formal nutze werden manche beträgt runter gerechnet also z.B. (12.33/5)*5 auf 10 gerundet :confused:

siehe @castorp , aber falls immer aufgerundet werden soll dann meine letzte Spalte:

postgres=# select amount, case when mod(amount,5) < 2.5 then div(amount,5) * 5 else (div(amount,5) + 1) * 5 end as result, round(amount/5) * 5, (div(amount,5) + 1) * 5 as immer_auf from sawell ;
 amount | result | ?column? | immer_auf 
--------+--------+----------+-----------
   4.47 |      5 |        5 |         5
  13.28 |     15 |       15 |        15
  11.02 |     10 |       10 |        15
(3 rows)
1 „Gefällt mir“

Danke dafür, hab vergessen zu Erwähnen das ich Datagrip nutze und ich deine Lösung so nicht übernehmen kann.

Und ich erst seit gestern mit postgre angefangen habe :sweat_smile:

Ich hab noch ne andere Lösung gefunden und zwar anstatt Round zu nutzen habe ich es jetzt so gemacht

Select ceil ( 12.33/5)*5 → 15
jetzt muss ich nur noch schauen das ich die ganze Colum mitnehmen kann

Datagrip kann auch SQL Befehle laufen lassen, die Lösung von akretschmer kannst Du exakt so auch dort laufen lassen.

Naja, einfach die Konstante durch den Spaltennamen ersetzen ceil(the_column/5)*5

1 „Gefällt mir“

Hätte man ja auch selbst drauf kommen können, ich danke dir :)!

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.