Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Beiträge

Tech Tipp #13: Rechnen mit InterBase

Frage: Ich mache Berechnungen beim SELECT Statement von InterBase. Zum Beispiel (Standard EMPLOYEE Datenbank; nur als Beispiel)

SELECT TOTAL_VALUE, TOTAL_VALUE*1.19 AS RESULT FROM SALES

Das funktioniert auch so weit, so gut!

Dazu habe ich zwei Fragen

(i) Wie wird die Anzahl der Nachkommastellen festgelegt? Beispiel: Wenn ich (oBdA) ein

SELECT DISTINCT 1/3 AS DRITTEL FROM SALES

ausführe kommt da „0“ raus?

(ii) Früher hat das funktioniert!

Antwort: Das ist erstmal abhängig vom Dialekt (DIALECT) von InterBase und der (internen Darstellung von Dezimalzahlen)

Mit dem heute (üblichen) DIALECT 3 ist die Anzahl der Nachkommastellen die Summe der Nachkommastellen in der Berechnung.
Beispiel

SELECT DISTINCT 1.000/3.0 AS DRITTEL FROM SALES

hat in Summe 3+1=4 Nachkommastellen. Also hat das Ergebnis auch 4 Nachkommastellen:

0,3333

Das sollte man unbedingt bei seinen Berechnungen berücksichtigen

Beim DIALECT 1 war das noch anders.

Siehe auch

http://docwiki.embarcadero.com/InterBase/2017/en/Migrating_Databases_to_Dialect_3
http://docwiki.embarcadero.com/InterBase/2017/en/Fixed-decimal_Data_Types

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES