代码之家  ›  专栏  ›  技术社区  ›  Wael Dalloul

十进制数据类型显示比例部分为零

  •  0
  • Wael Dalloul  · 技术社区  · 15 年前

    我在SQLserver 2005表中有Decimal字段,

    价格小数(18,4)

    如果我写12,它将转换为12.0000,如果我写12.33,它将转换为12.3300。 它总是把小数点右边的零放在小数点后的小数部分(4)。

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

    我的问题是如何阻止SQL Server 2005在小数点的右边加零?

    1 回复  |  直到 15 年前
        1
  •  2
  •   gbn    15 年前

    SQL Server 2000还将该值存储到了小数点后4位,并带有尾随零。

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

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

    编辑,评论后:

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

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

    如果应用程序的显示方式不同,那么数据类型也就不同:就这么简单。