如何使用informatica中的表达式转换将字符串转换为数字?

时间:2009-10-22 04:39:22

标签: informatica

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

我需要将相同的数据加载到数据类型为NUMBER

的目标表列(金额)中

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

任何人都应该帮助我,提前谢谢。


4 个答案:

答案 0 :(得分:3)

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

或者如果它始终是第一个角色而你不必担心空格

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

某些版本的Informatica不支持TO_NUMBER()。如果您使用的版本就是这种情况,则需要根据您的使用情况使用以下其中一种:

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

有关使用详情,请参阅reference of Informatica functions

答案 3 :(得分:0)

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