Int mit führender 0

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Int mit führender 0

    Hi, ich habe ein Datenbankfeld mit dem Datentyp INT. Wenn ich dort Nummern eintrage mit einer führenden 0 (zB 03423445) .. dann wird die 0 abgeschnitten und nicht gespeichert. gibt es einen weg, dies zu ändern?

    mit freundlichen Grüßen, fabs

  • #2
    Ja, ZEROFILL

    Kommentar


    • #3
      das Feld muss INT UNSIGNED ZEROFILL sein
      it's not a bug,
      it's a feature!

      Kommentar


      • #4
        ZEROFILL bedeutet ja, dass alle anderen Zeichen, mit Nullen aufgefüllt werden. Ich möchte aber gerne die Zahlen genau wie die Eingabe. Also einmal mit einer Null .. einmal mit 2 .. einmal mit keiner und die Zahlen haben verschiedene Längen.

        Kommentar


        • #5
          Dann musst du einen VARCHAR verwenden. Das hat schließlich auch nicht mehr viel mit ner Zahl, geschweige denn nem Integer zu tun.

          Kommentar


          • #6
            Du kannst (zumindest in Postgresql) im select ja deine nullen nach bedarf anhängen mittels String concatenation.

            Also etwa so
            Code:
            Select '0' || intfield from bla
            Evt. musst du dein intfield im select noch umwandeln zum string ...

            Kommentar


            • #7
              Du kannst (zumindest in Postgresql) im select ja deine nullen nach bedarf anhängen mittels String concatenation.
              Und woher weiss er dann wieviele Nullen er ursprünglich vorangestellt hat?
              Weil der TS ja sagte,
              Ich möchte aber gerne die Zahlen genau wie die Eingabe. Also einmal mit einer Null .. einmal mit 2 .. einmal mit keiner und die Zahlen haben verschiedene Längen.
              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Schon gesehen, aber da er ja auch sagte:

                ... ich habe ein Datenbankfeld mit dem Datentyp INT ...
                Damit wollte ich eine weiter Methode anzeigen, wie man fehlende Nullen vorranstellen kann. Nicht jeder kann seine Datenbankstruktur einfach ändern und aus einem Int Feld ein Varchar machen. Zumal ja alle Werte in dem Feld nun schon keine führende Null mehr haben (falls er denn schon Datensätze eingefügt hat). Fott is fott

                Kommentar


                • #9
                  Nicht jeder kann seine Datenbankstruktur einfach ändern und aus einem Int Feld ein Varchar machen.
                  Sollte man auch nicht wenn man noch plant mit diesen Werten zu rechnen
                  Ich würde eh auf die führenden Nullen verzichten und nur "echte" Integer verwenden.
                  Nullen könnte man ggf auch noch in PHP anfügen, hätte den Vorteil, dass in der DB immer noch echte Integer stehen...

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Nullen könnte man ggf auch noch in PHP anfügen, hätte den Vorteil, dass in der DB immer noch echte Integer stehen...
                    Nur woher willst du wissen, wie viele 0en du anfügen musst.

                    Kommentar


                    • #11
                      Die Frage ist nun: warum in Gottesnamen muss die Zahl führende Null(en) haben

                      Kommentar


                      • #12
                        Hallo,

                        z.B. Postleitzahl, Vorwahl


                        Grüße von Sven

                        Kommentar


                        • #13
                          Original geschrieben von Sven4972
                          Hallo,

                          z.B. Postleitzahl, Vorwahl


                          Grüße von Sven
                          Das ist dann aber keine Zahl mehr sondern String bzw. VarChar und somit erübrigt sich das Problem. Leute, denk mal nach, bevor ihr irgendwas erstellt!

                          Kommentar

                          Lädt...
                          X