在SQL数据库表中存储值时出错

时间:2012-01-06 05:59:03

标签: sql-server sqldatatypes

在我的表中,有一个名为zipcode的列,其数据类型为int。当我存储一个以0开头的邮政编码(例如08872)时,它将被存储为8872

有人能解释我为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

INT值是数字 - 数字上,088728872相同 - 都代表值8872

SQL Server将存储数值的前导零。这就是它的方式。

要么将其存储为CHAR(5),要么在需要显示时在前端处理格式化(在邮政编码中添加前导零)。