2010-05-08 78 views
0

我在为SQLserver 2005表小数字段,十进制数据类型显示刻度部为零

价格十进制(18,4)

如果我写12应当如果我转换为12.0000,写入12.33它将被转换为12.3300。 总是将比例零件(4)计数中的小数点右边的零置为零。

我在SQL Server 2000中使用它们,它不像SQL Server 2000那样运行,在SQL Server 2000中,如果我把它存储为12.5而不是SQLServer2005所做的12.5000。

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

回答

2

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

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

十进制(18,4)的行为在两个版本...否则这将是浮点/真实

编辑,注释后相同:

传递给你的客户端代码中的数据类型始终是十进制行为不会改变。无论是否具有格式化字符串都不关系到SQL数据类型。数据类型的行为在版本之间不变。

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

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

+0

谢谢,但是为什么企业管理器为SQL Server 2000不显示尾随零?和SQL Server 2005的管理显示他们? 所以你的意思是,如果我不想显示零,我必须为每个控件格式化字符串? – 2010-05-08 12:33:50