您可以更改Microsoft SQL Server中数值的默认显示行为吗?

时间:2016-02-09 11:35:45

标签: sql-server

我们有一个工作流程,用于导出数据并通过基于便携式文件的机制(文件地理数据库和ESRI ArcCatalog)再次加载数据。我理解我所遇到的根本问题是这个机制,但是由于这个工作流总是正确地与我们的Oracle实现一起工作,它从来没有真正被注意到是一个问题。

问题是我们以文件地理数据库格式(ESRI GIS格式)提供数据。此格式不允许存储数值的精度和比例属性。当数据以此格式导出到Oracle或MS SQL Server(通过另一个名为ArcCatalog的ESRI产品)时,将使用默认的比例和精度值(即38,8)创建数字列。

如果查询数据,在Oracle中,它仍然会以文件地理数据库中保存的格式显示基础数字数据。也就是说,NUMBER(38,8)仍将显示为42.1。 这意味着多年来,没有人注意到这种方法的问题。

我们现在正尝试使用相同的工作流程来加载到MS SQL Server中。但是在该平台中,相同的数字将存储为NUMERIC(38,8),但在查询时将显示为42.10000000。

我知道解决这个问题的正确方法是正确设置比例值,但我们无法控制基础传递机制。另一种方法是在加载数据后通过脚本修复它,但是在通过脚本导入后,有很多不同小数位的列要修复。我希望有一种更简单的方法可以让MS SQL Server通过某种数据库级别设置显示这些,或者我们是否需要在应用程序中对此进行说明(理想情况下,我们要避免这种情况)。

感谢任何帮助或评论。

0 个答案:

没有答案