hony: MySql-Datentypen

Hey ho,

irgendwie hab ich noch so meine problemchenm was mysql datentypen angeht.
Ich weis nicht wie man ein DECIMAL-Feld einstellt
Ich weis manchmal gar nicht, dass ich DECIMAL nehmen soll :D .
usw.
Ich suche eine Tabelle

| Mysql-Datentyp | Größe in Byte | Zu gebrauchen für | Beispiel |

hony

  1. Huhu hony,

    Ich suche eine Tabelle

    http://dev.mysql.com/doc/refman/5.0/en/data-types.html
    das ist zwar keine Tabelle aber da solltest Du die Informationen finden.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. da guck ich doch schon die ganze Zeit, die Seite/Buch ist aber nicht sehr toll gemacht!

      zb kapier ich einfach nicht wie DECIMAL Funktioniert.

      ich dachte zunächst, dass zb DECIMAL(2,2) zu folgendem ergebnis führt:
      99,99

      oder

      DECIMAL(3,3) = 999,999

      DECIMAL(4,4) = 9999,9999

      usw.

      aber das ist nicht der fall, doch das würde ich gerne so bestimmen können!

      wie geht das? und wie gehen andere sachen bei anderen typen? im handbuch wird das alles total schwammisch erklärt!

      hony

      1. echo $begrüßung;

        da guck ich doch schon die ganze Zeit, die Seite/Buch ist aber nicht sehr toll gemacht!
        zb kapier ich einfach nicht wie DECIMAL Funktioniert.

        Im Handbuch ist auf der Seite Numeric Types das Beispiel DECIMAL(5,2) und ein wenig darunter der damit darstellbare Wertebereich angegeben. Daraus folgt, dass der erste Wert die Gesamtlänge der Zahl inklusive Nachkommastellen darstellt und der zweite Wert die Anzahl der Stellen nach dem Komma.

        ich dachte zunächst, dass zb DECIMAL(2,2) zu folgendem ergebnis führt:
        99,99

        DECIMAL(4,2)

        DECIMAL(3,3) = 999,999

        DECIMAL(6,3)

        DECIMAL(4,4) = 9999,9999

        DECIMAL(8,4)

        und wie gehen andere sachen bei anderen typen?

        Definiere "andere sachen bei anderen typen".

        im handbuch wird das alles total schwammisch erklärt!

        Das Handbuch ist eine technische Dokumentation, kein von einem Schriftsteller verfasster Roman. Ich finde es sehr aussagekräftig. Es ist weder an der Stelle schwammig noch total (= in seiner Gänze). Allerdings habe ich auch schon einige Jährchen Übung im Lesen von Dokumentationen.

        echo "$verabschiedung $name";

        1. ...und

          decimal(254,30) ist dann das MAXIMUM

          00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009.900000000000000000000000000000

          und ist auf 30 stellen genau?!

          hony

          1. echo $begrüßung;

            decimal(254,30) ist dann das MAXIMUM

            Nein, insgesamt 65 (in einigen Versionen 64) Ziffern sind das Maximum für DECIMAL.

            und ist auf 30 stellen genau?!

            In deinem Fall betrüge die Genauigkeit 254 Stellen, wovon 30 auf den Teil nach dem Komma fallen.

            echo "$verabschiedung $name";

            1. guden,

              decimal(254,30) ist dann das MAXIMUM

              Nein, insgesamt 65 (in einigen Versionen 64) Ziffern sind das Maximum für DECIMAL.

              In deinem Fall betrüge die Genauigkeit 254 Stellen, wovon 30 auf den Teil nach dem Komma fallen.

              warum kann ich dann bei meiner Version 254,30 eingeben?

              also mir ist es wichtig, dass beträge bis sagen wir mal 100.000.000 € ihren platz finden mit möglichst exakter berechnung, damit meine ich die nachkommastellen. was stelle ich denn jetzt ein?

              254,30 oder 65,4711 ;)

              hony

              1. echo $begrüßung;

                decimal(254,30) ist dann das MAXIMUM
                Nein, insgesamt 65 (in einigen Versionen 64) Ziffern sind das Maximum für DECIMAL.
                warum kann ich dann bei meiner Version 254,30 eingeben?

                "Too big precision 254 specified for column 'dec'. Maximum is 65." lautet die Fehlermeldung, die mir MySQL 5.0.26 dazu auswirft.

                also mir ist es wichtig, dass beträge bis sagen wir mal 100.000.000 € ihren platz finden mit möglichst exakter berechnung, damit meine ich die nachkommastellen. was stelle ich denn jetzt ein?

                Du hast 9 Stellen vor dem Komma und willst, sagen wir mal, 5 Stellen nach dem Komma, macht insgesamt 14 Stellen. Zusammengesetzt als Feldtypangabe ergibt das DECIMAL(14,5).

                echo "$verabschiedung $name";