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

What should I keep as datatype in Informatica for a field that is FLOAT in source and target?

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

我应该使用什么数据类型来获得最大可能的准确度?

好的,这里有很多问题。

  1. 检查此 doc 以了解 Informatica 中的可用数据类型
  2. 如果您想要“最大可能的精度”,您应该使用 DECIMAL :) FLOAT(甚至是 Double)- 不是精确的数据类型。它允许大数,它允许分数——但它不精确。实际上不可能代表0.1! :)
  3. 如果您使用 DECIMAL,只要不超过 15 位数字,您就会得到精确的数字。对于更大的数字,无论如何你最终都会得到 DOUBLE,除非...
  4. 您在会话属性中启用 HIGH PRECISION。然后您将继续使用最多 38 位的精确 DECIMAL 数字。
  5. 如果超过 38 位数字,您最终会得到 non-precise DOUBLE。是的 - 即使启用 HIGH PRECISION - 检查 this doc.

在你的情况下,我认为你应该使用 DOUBLE - 你的 SQL 服务器中的 FLOAT 无论如何都不是精确类型。

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