对于源和目标中为FLOAT的字段,我应该在Informatica中保留什么数据类型



我在SQL Server中有一个数据类型为FLOAT(53)的字段。在Informatica中导入后,它将变为FLOAT(15)

我应该使用什么数据类型来获得尽可能高的准确性?

好的,这里有很多问题。

  1. 查看此文档以了解Informatica中可用的数据类型
  2. 如果你想要";最大可能精度";您应该使用DECIMAL:(FLOAT(甚至Double(-不是精确的数据类型。它允许大的数字,允许分数——但它并不精确。事实上,不可能表示0.1!:(
  3. 如果使用DECIMAL,那么只要不超过15位,就可以得到精确的数字。对于较大的数字,你无论如何都会得到DOUBLE,除非
  4. 您可以在会话属性中启用HIGH PRECISION。然后,您将继续使用精确的十进制数字,最高可达38位
  5. 如果你超过38位数字,你最终会得到不精确的DOUBLE。是的,即使启用了HIGH PRECISION,也要检查此文档

在您的情况下,我认为您应该使用DOUBLE——无论如何,SQL Server中的FLOAT不是一个精确的类型。

这也是对这个问题的一个很好的总结。

最新更新