2

我有数据类型字符串的源列(数量),包含 $793.00、$5791.00、...等数据

我需要将相同的数据加载到数据类型为 NUMBER 的目标表列(数量)中

如何通过在 informatica 中使用表达式转换来获得目标中带有“$”符号的相同数据?

任何人都请帮助我,在此先感谢。


4

4 回答 4

3

TO_NUMBER(SUBSTR(AMOUNT,INSTR(AMOUNT,'$')+1,LENGTH(AMOUNT)-1))

或者如果它总是第一个字符并且您不必担心空格

TO_NUMBER(SUBSTR(AMOUNT,2,LENGTH(AMOUNT)-1))

于 2009-11-05T17:38:12.410 回答
1

您可以将源列“amount”放入一个表达式元素中,例如“AMOUNT_INPUT”并在该表达式中添加一个新项目,这样“AMOUNT_OUTPUT”在此表达式中就会变成“TO_NUMBER(AMOUNT_INPUT)”

于 2011-08-10T06:33:10.600 回答
1

某些版本的 Informatica 不支持TO_NUMBER(). 如果您正在使用的版本是这种情况,您将需要根据您的用例使用以下选项之一:

  • TO_INTEGER()
  • TO_FLOAT()
  • TO_DECIMAL()

有关使用详细信息,请参阅Informatica 函数的参考。

于 2013-11-14T22:13:54.400 回答
0

您还可以使用以下逻辑来获得所需的结果 - REPLACESTR(1,AMOUNT,'$','')

于 2013-07-30T08:57:40.860 回答