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

时间:2010-05-08 11:14:57

标签: sql-server-2005 tsql types decimal

我在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而不是12.5000 SQLServer2005。

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

1 个答案:

答案 0 :(得分:2)

SQL Server 2000也将值存储到4个小数位,并带有尾随零。

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

decimal(18,4)在两个版本中表现相同......否则它将是float / real

评论后编辑:

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

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

如果你的应用程序显示不同,那么数据类型就不同了:就像那样简单。