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

RAD Studio 13.2 Florence Now Available! Kai 1.1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES