Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在Informatica中使用十进制_Sql Server_Etl_Informatica_Informatica Powercenter - Fatal编程技术网

Sql server 如何在Informatica中使用十进制

Sql server 如何在Informatica中使用十进制,sql-server,etl,informatica,informatica-powercenter,Sql Server,Etl,Informatica,Informatica Powercenter,今天我在informatica代码中遇到了一个问题,我已经找到了解决方案。但是,我没有一个适当的理由,也不确定我的解决方案是否是一个适当的解决方案 以下是我的问题摘要: 来源:平面文件(固定宽度) 源字段数据类型:字符串14 目标:SQL Server表 目标字段数据类型:十进制(14,2) 旧逻辑 IIF(至十进制(字段名),至十进制(字段名)/100,空) 坏数据 00002631064132 错误 消息:转换求值错误[[到整数]:整数溢出 …i:TO_INTEGER(f:TO_FLOAT(

今天我在informatica代码中遇到了一个问题,我已经找到了解决方案。但是,我没有一个适当的理由,也不确定我的解决方案是否是一个适当的解决方案

以下是我的问题摘要:

来源:平面文件(固定宽度)

源字段数据类型:字符串14

目标:SQL Server表

目标字段数据类型:十进制(14,2)

旧逻辑 IIF(至十进制(字段名),至十进制(字段名)/100,空)

坏数据 00002631064132

错误 消息:转换求值错误[[到整数]:整数溢出 …i:TO_INTEGER(f:TO_FLOAT(d2:TO_DECIMAL(u:'00002631064132',i:-100)),i:0)]

更新的逻辑 IIF(非ISNULL(LTRIM(RTRIM(FIELDNAME))),至十进制(FIELDNAME)/100,空)

输出 26310641.32(按预期加载)

问题摘要

我们有将字符串转换为十进制(14,2)的初始逻辑(旧逻辑)

这段代码从一段时间以来一直在运行,没有任何问题。但今天,此加载失败,出现整数溢出(错误)

我已经更改了图中所示的逻辑(更新的逻辑),它成功地加载了具有预期输出(output)的数据

我的疑问是,当我没有在映射中的任何地方使用时,为什么会有to_integer,to_float出现在错误中。我正在为这个修复寻找合适的理由

有什么想法吗


提前谢谢

定义逻辑的变量/输出端口的数据类型是什么?
您还可以提供导致此问题的输入数据吗?

这是什么
TO_DECIMAL()
函数?这是自定义函数吗?这被标记为sql server,但我不认为此函数是sql server的一部分。另外,
ISNULL()
在SQL Server中需要两个参数。@MatthewI这是informatica中的内置函数。我的目标表在sql server中。我必须查看您正在使用的数据。你能在表中指定列的数据类型吗?2631064132似乎在2^31以上,默认情况下,TO_DECIMAL函数不能正确处理它。尝试在会话中启用“高精度”选项,这可能对此类值有所帮助。@MatthewI Hi Matthew。感谢您的回复。显然,我已将iif条件中的更新逻辑修改为is_number函数,并且该函数也有效。变量端口的数据类型为十进制(14,2),输入数据为“0002631064132”。感谢Rohan,我同意Mickeel的建议