Carsten unreg: (MySQL) INT(M) - Was gibt das M an?

hallo

Es geht um MySQL. Ich konnte im dt. und engl. leider nicht rausfinden, was M bei INTEGER(M) angibt. Erst dachte ich, es würde die maximalen Stellen angeben. Dies ist jeder nicht der Fall. Auch bei INT(4) kann man bis zu 10steliige Zahlen speichern. Was gibt M also an?

PS: Ahja, ist INT oder INTEGER "das richtige"? Ich weiß, man kann beide verwenden, aber ich würd halt gern den "echten" und nicht nur seinen alias verwenden.

  1. Hi,

    Es geht um MySQL. Ich konnte im dt. und engl. leider nicht rausfinden, was M bei INTEGER(M) angibt.

    Wieso nicht - Stelle nicht gefunden, oder Verstaendnisproblem?

    Erst dachte ich, es würde die maximalen Stellen angeben. Dies ist jeder nicht der Fall. Auch bei INT(4) kann man bis zu 10steliige Zahlen speichern. Was gibt M also an?

    http://dev.mysql.com/doc/refman/4.1/en/numeric-types.html
    "Another extension is supported by MySQL for optionally specifying the display width of integer data types in parentheses following the base keyword for the type (for example, INT(4)). This optional display width is used to display integer values having a width less than the width specified for the column by left-padding them with spaces.

    The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column. [...]

    When used in conjunction with the optional extension attribute ZEROFILL, the default padding of spaces is replaced with zeros. For example, for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004."

    MfG ChrisB

    1. This optional display width is used to display integer values having a width less than the width specified for the column by left-padding them with spaces.

      Aber was ist damit gemeint? Was bewirkt dieses M genau? Mit was für "Spaces" wird der Integer links aufgefüllt? Weder mit Nullen, noch mit Leerzeichen. "22" ist bei INT(2) "22", aber ebenso bei INT(10) "22" und nicht "        22" oder irgendsowas.

      1. Hallo Carsten,

        verwende mal das Attribut ZERFILL, dann solltest Du das sehen können.

        mbG Rolf

      2. Hi,

        This optional display width is used to display integer values having a width less than the width specified for the column by left-padding them with spaces.

        Aber was ist damit gemeint? Was bewirkt dieses M genau? Mit was für "Spaces" wird der Integer links aufgefüllt?

        Na mit Leerzeichen - wenn du dir bspw. das Ergebnis einer Query auf der Konsole anschaust.

        Weder mit Nullen, noch mit Leerzeichen.

        Doch, mit Nullen - wenn das Attribut zerofill fuer die Spalte zusaetzlich gesetzt ist.

        "22" ist bei INT(2) "22", aber ebenso bei INT(10) "22" und nicht "        22" oder irgendsowas.

        Kommt drauf an, *wo* du es betrachtest.

        MfG ChrisB

        1. Kommt drauf an, *wo* du es betrachtest.

          Danke, das wird's sein.

    2. ... werde Dich dem Chef als hochqualifizierten Kopierer empfehlen.

      mit besten Güßen
      ichwarsnicht

      1. Hi,

        ... werde Dich dem Chef als hochqualifizierten Kopierer empfehlen.

        Danke, aber an einem Job im Irrenhaus habe ich derzeit wenig Interesse.

        MfG ChrisB

        1. Hallo Cris,

          ... werde Dich dem Chef als hochqualifizierten Kopierer empfehlen.
          Danke, aber an einem Job im Irrenhaus habe ich derzeit wenig Interesse.

          macht nix,
          die wenigsten sind freiwillig hier ... ;-)

          mit besten Güßen
          ichwarsnicht