![]() |
Datenbank: SQL • Version: unbekannt • Zugriff über: BDE
Zahlen berechnen und runden im Paradox SQL Modul
Hallo Leute,
Ich wäre als der Neuer hier und hab so ziemlich sehr wenig Ahnung von SQL und bitte um Eure Hilfe. :) Aufgabe: Tabelle "Abrechnung"- Zahlen mit 2 Dezimalstellen in einer Spalte (Betrag) um X% vermindern und das Ergebis auf die erste Kommastelle runden. Bsp: 61,10 um 20% reduziert ergibt 48,88 -> das Ergebnis soll aber auf 48,90 gerundet werden. Was ich habe:
Code:
Dieser Befehl bringt mir aber eben den "falschen" Wert mit 48,88 als Ergebnis.
Update Abrechnung
set Betrag= Cast(CAST(Betrag*(100-20) AS Integer) as Float)*0.01 where Abrechnungsdatum between 'dd.mm.yyyy' and 'dd.mm.yyyy' and Betrag > 0 Was ich weiter habe:
Code:
Hier beköme ich zwar immer die Zahl als '##,#0' dargestellt, aber immer nur nach unten gerundet bzw. berechnet - was mathematisch natürlich falsch ist.
Update Abrechnung
set Betrag= Cast(CAST(Betrag*(100-20)*0.1 AS Integer) as Float)*0.1 where Abrechnungsdatum between 'dd.mm.yyyy' and 'dd.mm.yyyy' and Betrag > 0 Es gibt doch einen Befehl ROUND, dieser wird aber angeblich nicht in Delphi 5 funktionieren. Es handelt sich dabei um eine uraltes Programm das aber immer noch verwendet wird. Könnte man vielleicht das Ergebnis der 5-Reduktion mit 100 multiplizieren, die letzte Ziffer dieser Zahl auf 0 ändern und dann wieder durch 100 dividieren um die Kommastellen zu erhalten? :? Habt ihr eine Idee wie ich das lösen könnte? Danke und LG. Robert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz