Andi: Multiplikation in SQL

Hallo,

ich möchte eine einfache Multiplikation in SQL durchführen. Als Beispiel nehmen wir folgende SELECT-Anweisung:

SELECT (4.55 * 2.222) AS Karl

Laut meiner Logik müßte dort das Ergebnis 10,1101 lauten.

MySQL gibt mir aber folgendes: 10,11.

Was mache ich falsch? Gibt es da irgendeine EInstellung, welche die Nachkommastellen regelt oder muß ich auf irgendetwas casten?

Danke für eure Hilfe.

Grüße
Andi

  1. Hi,

    Was mache ich falsch? Gibt es da irgendeine EInstellung, welche die Nachkommastellen regelt oder muß ich auf irgendetwas casten?

    ja und nein, wie es bei MySQL im Speziellen ist weiß ich gerade nicht, aber die Datenbank kann sich nur die Zahlen anschauen und raten was das vermutlich für ein Datentyp sein könnte. Wenn du das umgehen willst musst du z.B. explizite Casts einsetzen um den gewünschten (präzisen) Datentyp zu erhalten,
    z.B. SELECT (DOUBLE(4.55) * DOUBLE(2.222)) AS Karl

    Ob's dein Problem löst kann ich gerade nicht sagen :-)

    MfG
    Rouven

    --
    -------------------
    ie:| fl:| br:> va:| ls:& fo:) rl:( n4:{ ss:) de:] js:| ch:? mo:} zu:|
  2. Schau mal in die Config File von MySQL.. dort kann man einstellen, auf wieviele Nachkommastellen gerechnet wird.