我在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将零置于小数点右侧?
答案 0 :(得分:2)
SQL Server 2000也将值存储到4个小数位,并带有尾随零。
您所看到的是客户端工具如何呈现它。
decimal(18,4)在两个版本中表现相同......否则它将是float / real
评论后编辑:
传递给客户端代码的数据类型始终为十进制,行为不会更改。是否有格式字符串与SQL数据类型无关。版本之间数据类型的行为保持不变。
我只是说SQL客户端工具以不同的方式显示值。
如果你的应用程序显示不同,那么数据类型就不同了:就像那样简单。