Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Division bei Select mit Komma-Stelle (https://www.delphipraxis.net/158306-division-bei-select-mit-komma-stelle.html)

scrat1979 12. Feb 2011 19:15

Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC

Division bei Select mit Komma-Stelle
 
Hallo zusammen,

ich möchte bei einem Query mit den Spaltenwerten eine "einfache" Berechnung durchführen (etwas vereinfacht zur Demonstration)

Delphi-Quellcode:
 SELECT (count(tab_duties.id) / 365) * 30 As DutiesPerMonth
 FROM [...]
Das funktioniert auch so weit problemlos, nur bekomme ich eben ganze Zahlen als Ergebnis (egal ob 5.1 oder 5.9 rauskommen müsste).
Wie bringe ich es Firebird bei, die Berechnung auf x Kommastellen genau durchzuführen? Ich habe leider hier und bei Google nichts gefunden (oder die falschen Begriffe verwendet?)

Danke im Voraus!

Bummi 12. Feb 2011 19:33

AW: Division bei Select mit Komma-Stelle
 
Unter SQL-Server so:
Code:
SELECT (count(tab_duties.id) / 365.0) * 30 As DutiesPerMonth
 FROM [...]
keine Ahnung ob das Firebird auch so geht...

scrat1979 12. Feb 2011 19:57

AW: Division bei Select mit Komma-Stelle
 
Leider nein... :(

omata 12. Feb 2011 20:35

AW: Division bei Select mit Komma-Stelle
 
SQL-Code:
SELECT 1.00 * (COUNT(tab_duties.id) / 365) * 30 AS DutiesPerMonth
FROM [...]

Bummi 12. Feb 2011 21:12

AW: Division bei Select mit Komma-Stelle
 
ich nehme an omata's Vorschlag funktioniert, falls nicht vielleicht
Code:
SELECT (Cast(count(tab_duties.id) as Float) / 365.0) * 30.0 As DutiesPerMonth
 FROM [...]

scrat1979 12. Feb 2011 21:14

AW: Division bei Select mit Komma-Stelle
 
Zitat:

Zitat von Bummi (Beitrag 1081306)
ich nehme an omata's Vorschlag funktioniert, falls nicht vielleicht
Code:
SELECT (Cast(count(tab_duties.id) as Float) / 365.0) * 30.0 As DutiesPerMonth
 FROM [...]

Perfekt!! Funktioniert einwandfrei. Ich hatte noch einen anderen Fehler. Es handelt sich um eine SP, als Output-Parameter wurde
ein INTEGER definiert, der ja bekannermaßen keine Nachkommestellen besitzt :oops:

Wie immer: :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz