2015-07-21 115 views
0

我的问题是informatica映射正在将表格8000196005072015的数字转换为形式8.000196005072015e + 15.该字段的数字数据类型的进动设置为50,其比例设置为0.如何在不修剪数据的情况下防止这种情况发生(8000196005072015)。informatica中的数字数据类型将数字转换为指数形式

感谢

+0

端口的数据类型是平面文件中的数字和源限定符中的小数。 –

+0

您的示例中未修剪任何数据 - 8000196005072015 == 8.000196005072015e + 15,只有符号不同。但是,请参阅下面的答案,以了解您需要做什么才能真正处理十进制值。 –

+0

你在哪里看到指数值?它是否以这种格式保存在目标中? –

回答

3

还有就是decimaldouble数据类型之间的PowerCenter一个重要的区别:

  • decimal - 实数的定点表示,
  • double - 一个浮点表示的实数。

但是,定义端口decimal并不意味着Integration Service会将通过此端口传递的值视为定点数字。

Port datatype | Precision | High Precision 
       |   | Off | On 
--------------------------------------------- 
decimal  | 0-28 | double | decimal 
decimal  | over 28 | double | double 

要实际与decimal值满足下列条件必须满足工作:

  1. 端口的数据类型是decimal
  2. 端口的精度是28或更小
  3. 会话选项启用高精度是e nabled。
+0

这是有用的信息。任何想法在大多数情况下将'decimal(x,y)'数据视为'double'的基本原理是什么? – WAF

+0

@WAF不,我永远无法理解它,我觉得它很混乱。 –

相关问题