2009-10-22 118 views
2

我有源列(数量)数据类型的字符串,包含了诸如793.00,$ 5791.00的DATAS,...如何使用informatica中的表达式转换将字符串转换为数字?

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

如何通过在informatica中使用表达式转换来获得与'$'符号相同的数据?

任何人都可以帮助我,请提前致谢。


+0

@madhina,你的意思是“有”或“没有”$符号?如果您希望将其转换为数字,则必须去掉'$'符号。 – Rahul 2009-10-22 05:33:16

回答

3

TO_NUMBER(SUBSTR(AMOUNT,INSTR(金额, '$')+ 1,线长(数量)-1))

,或者如果它总是第一个字符,你不必担心空间

TO_NUMBER(SUBSTR(AMOUNT,2,长度(数量)-1))

+0

为什么浪费那个长度函数没有理由?只留下可选的最后一个参数SUBSTR。 – 2016-03-06 00:57:03

1

你可以把源列 “量” 到一个表达元素,说 “AMOUNT_INPUT”,并在添加新项该表达式使得“AMOUNT_OUTPUT”在此使得表达式成为“TO_NUMBER(AMOUNT_INPUT)”

0

您还可以使用下面的逻辑来得到期望的结果 - 项replacestr(1,数量, '$', '')

1

的Informatica的某些版本不支持TO_NUMBER() 。如果这是你正在使用的版本的话,你将需要使用以下步骤之一,以适合你的使用情况:

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

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

相关问题