SQL: Floatwerte aufrunden
Ich habe im Ergebnis einer SQL-Anweisung einen Geldbetrag (mit vielen Kommastellen), den ich runden muss. Gefordert ist, dass auf 2 Nachkommastellen gerundet wird und zwar nicht kaufmännisch, sondern immer auf den nächsten Cent-Betrag. Das Ergebnis soll wie folgt aussehen:
1,2300001 EUR --> 1,24 EUR
1,2350000 EUR --> 1,24 EUR
1,2399999 EUR --> 1,24 EUR
1,2400000 EUR --> 1,24 EUR
Wie kann ich das per SQL umsetzen?
Bei MySQL gibt es die Funktion Round(). Mit dieser kann man sehr einfach eine Zahl runden. Man übergibt dieser zuerst die Zahl, die gerundet werden soll, und als zweiten Parameter die Anzahl der Kommastellen. Du kannst dir
hier auch ein Beispiel ansehen.
Grundsätzlich ist SQL natürlich eine standardisierte Abfragesprache. Aber leider entwickeln die unterschiedlichen Hersteller von Datenbanken regelmäßig ihre eigenen Dialekte und das endet auch in eigenen Funktionen, welche dann auch nur auf einer bestimmten Plattform verstanden wird. Das lernt man sehr schnell, wenn man versucht, Datumsoperationen über verschiedene Datenbanken zu vereinheitlichen.
Leider hast du hier nicht angegeben, für welche Datenbank du eine Lösung suchst bzw. erwartest. Da aber dein Vorhaben keiner "Standardanforderung" entspricht, denke ich nicht, dass es auf Grund der Nachkommastellen eine vorgesehene Funktion gibt. Lösen läßt es sich aber dennoch.
Wenn ich mal den MS SQL Server nehme, dann kann man ganz einfach zu der von dir gewünschten Rundung kommen. Dazu muss aber auch gerechnet werden. Was also in jedem Fall funktioniert, wäre ein Aufruf in der folgenden Form:
- Code: Alles auswählen
SELECT CEILING( <WERT> *100)/100;
Die Funktion CEILING gibt hierbei immer die kleinste (!) Zahl wieder, welche größer bzw. gleich dem angegebenen <Wert> ist. Mit 100 muss hierbei multipliziert werden, um die Nachkommastellen zu erwischen. Das Ergebnis wird dann wieder durch 100 geteilt, um eben die aufgerundete Zahl mit Nachkommastellen zu haben.
Link dieser Seite https://www.talkteria.de/forum/topic-190078.html
Ähnliche Themen
Weitere interessante Themen
- Ungerechte / ungleiche Freundschaft 2168mal aufgerufen · 6 Antworten · Autor: merlinda · Letzter Beitrag von Hufeisen
Forum: Alltägliches
- Ungerechte / ungleiche Freundschaft
- Was fasziniert euch an amerikanischen Serien 3427mal aufgerufen · 16 Antworten · Autor: Federmäppchen · Letzter Beitrag von mittenimleben7
Forum: Film & Fernsehen
- Was fasziniert euch an amerikanischen Serien
- Shampoo Mousse besser als normales Shampoo? 2223mal aufgerufen · 2 Antworten · Autor: Nurse · Letzter Beitrag von bambi7
Forum: Fingernägel, Haut & Haare
- Shampoo Mousse besser als normales Shampoo?
- GM Aktien: jetzt wieder investieren? 1687mal aufgerufen · 1 Antworten · Autor: T. Patrick · Letzter Beitrag von Verbena
Forum: Geldanlage
- GM Aktien: jetzt wieder investieren?
- Pflanzen Krankheiten - Tipps zur Behandlung 1891mal aufgerufen · 1 Antworten · Autor: Käffchen2 · Letzter Beitrag von Verbena
Forum: Garten & Pflanzen
- Pflanzen Krankheiten - Tipps zur Behandlung
