Какой формат столбца для почтовых индексов Германии с начальным 0?

#database

#База данных

Вопрос:

Я хотел бы сохранить почтовые индексы в своей базе данных. Существуют почтовые индексы, которые начинаются с 0, и не только в Германии. К сожалению, целочисленный формат не будет работать, потому что 0 будет опущен. Так 01234 бы тогда и стало 1234 . Является ли varChar(5) единственной возможностью?

Почтовый индекс Германии всегда состоит из 5 цифр.

Ответ №1:

Ну, буквенно-цифровые (все, что имеет символ в имени типа данных…). То же самое, что и для телефонных номеров или других данных, которые в основном содержат цифры, но не только.

Комментарии:

1. Извините за поздний отзыв. Я совсем забыл об этом и продолжал работать с Варчаром. Причины varChar были хорошо изложены во всех ответах здесь. Merci!

Ответ №2:

Varchar(5), безусловно, не единственная возможность. Вы можете сохранить их в виде целых чисел, а затем дополнить их начальными нулями в любом приложении, использующем базу данных.

Но ИМО, сохранение их в виде строк (будь то varchar или char) — лучший вариант. Несмотря на то, что они состоят из цифр, на самом деле они не являются числами (например, нет смысла складывать их вместе, и ведущие нули важны). Сохранение их в виде строк также даст вам гибкость, если в конечном итоге вам понадобится использовать почтовые индексы с буквами в них.

Комментарии:

1. Извините за очень поздний отзыв. Я совсем забыл об этом и продолжал работать с Варчаром. Причины varChar были хорошо изложены во всех ответах здесь. Merci BenM!

Ответ №3:

Если они всегда будут состоять из 5 символов, то используйте тип данных, содержащий ровно 5 символов, char(5) т. Е. Вы даже можете добавить ограничение на столбец, чтобы гарантировать, что все, что вставлено в таблицу, имеет длину ровно 5 символов, а каждый символ-цифра.

Комментарии:

1. Извини, Ян, за поздний отзыв. Я совсем забыл об этом и продолжал работать с Варчаром. Причины varChar были хорошо изложены во всех ответах здесь. Merci!