Ошибка при сохранении значений в таблице базы данных SQL - PullRequest
1 голос
/ 06 января 2012

В моей таблице есть столбец с именем zipcode, тип данных которого int. И когда я сохраняю почтовый индекс, который начинается с 0 (например, 08872), он сохраняется как 8872.

Кто-нибудь может мне объяснить, почему это происходит?

1 Ответ

2 голосов
/ 06 января 2012

Значение INT является числовым - и численно 08872 и 8872 идентичны - оба представляют значение 8872.

SQL Server не будет хранить начальные нули для числовых значений. Так оно и есть.

Либо сохраняйте это как CHAR(5), либо обрабатывайте форматирование (добавляя начальные нули к почтовым индексам) на внешнем интерфейсе, когда вам нужно отобразить его.

...