Einzelnen Beitrag anzeigen

RobertW

Registriert seit: 21. Nov 2023
1 Beiträge
 
#1

Zahlen berechnen und runden im Paradox SQL Modul

  Alt 24. Nov 2023, 11:07
Datenbank: SQL • Version: unbekannt • Zugriff über: BDE
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:
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
Dieser Befehl bringt mir aber eben den "falschen" Wert mit 48,88 als Ergebnis.

Was ich weiter habe:
Code:
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
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.

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
  Mit Zitat antworten Zitat