WernerK: Mysql decimal Wertebereich

Hallo, in einem MySQL Buch von Michael Kofler lese ich folgendes:

"Der Zahlenbereich von DECIMAL(6,3) reicht von 9999.999 bis -999.999"

Ich bin etwas irritiert. Ich dachte die erste Angabe gibt die Gesamtzahl der Stellen an, hier also maximal 6. Und 9999.999 wären ja 7 Stellen.

Für mich wäre des max. Wert 999.999

Was stimmt denn nun?

Gruss Werner

  1. Hallo WernerK,

    "Der Zahlenbereich von DECIMAL(6,3) reicht von 9999.999 bis -999.999"

    Ich bin etwas irritiert. Ich dachte die erste Angabe gibt die Gesamtzahl der Stellen an, hier also maximal 6. Und 9999.999 wären ja 7 Stellen.

    Für mich wäre des max. Wert 999.999

    Was stimmt denn nun?

    Du hast recht.

    LG,
    CK

    1. Hallo Christian Kruse,

      "Der Zahlenbereich von DECIMAL(6,3) reicht von 9999.999 bis -999.999"

      Ich bin etwas irritiert. Ich dachte die erste Angabe gibt die Gesamtzahl der Stellen an, hier also maximal 6. Und 9999.999 wären ja 7 Stellen.

      Für mich wäre des max. Wert 999.999

      Was stimmt denn nun?

      Du hast recht.

      Und dann aber auch -99.999?

      Bis demnächst
      Matthias

      --
      Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
      1. Hallo Matthias,

        "Der Zahlenbereich von DECIMAL(6,3) reicht von 9999.999 bis -999.999"

        Ich bin etwas irritiert. Ich dachte die erste Angabe gibt die Gesamtzahl der Stellen an, hier also maximal 6. Und 9999.999 wären ja 7 Stellen.

        Für mich wäre des max. Wert 999.999

        Was stimmt denn nun?

        Du hast recht.

        Und dann aber auch -99.999?

        Nein, das Minus zählt nicht mit rein, nur die Ziffern; sonst müsste man ja auch das Komma mitzählen 😉

        LG,
        CK

        1. Hallo zusammen,

          Nein, das Minus zählt nicht mit rein, nur die Ziffern; sonst müsste man ja auch das Komma mitzählen 😉

          Das ist nicht logisch das Gleiche.

          Das "Komma" - ich denke mal, Du meintest das Dezimaltrennzeichen und nicht den Tausender-Separator - ist durch die Konvention (M,D) festgelegt. Ob die Dezimalzahl allerdings negativ ist, steht nicht von vorne herein fest, benötigt also zusätzlichen Platz für die Information.

          Bei MySQL ist es aber nun trotzdem so, dass das Minus nicht als Literal gespeichert wird.
          https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

          Bei anderen Systemen probiert es lieber mal aus, oder lest nochmal genau die Doku ;-)

          LG
          RR vom Tablet