【问题标题】:Decimal data Type Display scale part as zero十进制数据类型显示比例部分为零
【发布时间】:2011-02-17 03:22:21
【问题描述】:

我在 SQLserver 2005 表中有 Decimal 字段,

价格小数(18, 4)

如果我写 12 它将转换为 12.0000,如果我写 12.33 它将转换为 12.3300。 始终在 Scale Part(4) 的计数中将零放在小数点的右侧。

我在 SQL Server 2000 中使用这些,它的行为不是这样,在 SQL Server 2000 中,如果我输入 12.5,它将存储为 12.5 而不是 SQLServer2005 所做的 12.5000。

我的问题是如何阻止 SQL Server 2005 将零放在小数点右侧?

【问题讨论】:

    标签: sql-server-2005 tsql types decimal


    【解决方案1】:

    SQL Server 2000 也将值存储到小数点后 4 位,尾随零。

    您看到的是客户端工具如何呈现它。

    十进制 (18,4) 在两个版本中的行为相同...否则它将是浮点数/实数

    在评论后编辑:

    传递给您的客户端代码的数据类型始终为十进制,并且行为不会改变。是否有格式字符串与 SQL 数据类型无关。数据类型的行为在版本之间保持不变。

    我只是说 SQL 客户端工具显示的值不同。

    如果您的应用程序显示不同,则数据类型不同:就这么简单。

    【讨论】:

    • 谢谢,但为什么 SQL Server 2000 企业管理器不显示尾随零?和 SQL Server 2005 的管理显示它们?所以你的意思是如果我不想显示零,我必须为每个控件格式化字符串?
    猜你喜欢
    • 2021-10-13
    • 2018-04-26
    • 2017-09-25
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多