【问题标题】:Error in storing values in SQL database table在 SQL 数据库表中存储值时出错
【发布时间】:2012-01-06 05:59:03
【问题描述】:

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

谁能解释一下为什么会这样?

【问题讨论】:

    标签: sql-server sqldatatypes


    【解决方案1】:

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

    SQL Server 将为数值存储前导零。就是这样。

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

    【讨论】:

    • 我也试过了,即将数据类型设置为 'VARCHAR(MAX)'。但是当我使用“resultset.getString(zipcode)”时,问题仍然存在。它仍然返回值为'8872'。
    • @animeshporwal:如果您只打算存储 5 个字符 - 将其设为 CHAR(5) - 绝对不是 VARCHAR(MAX) !!
    猜你喜欢
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2021-11-21
    • 2013-09-02
    • 2013-08-14
    相关资源
    最近更新 更多