Как преобразовать строку в число, используя преобразование выражения в информатике?

У меня есть исходный столбец (сумма) со строкой типа данных, содержащий такие данные, как 793,00 долларов США, 5791,00 долларов США, ...

Мне нужно загрузить эти же данные в столбец (количество) целевой таблицы с типом данных НОМЕР

как я могу получить те же данные с символом «$» в цели, используя преобразование выражения в informatica?

кто-нибудь, помогите мне, пожалуйста, заранее спасибо.



person madhina    schedule 22.10.2009    source источник
comment
@madhina, вы имеете в виду с символом $ или без него? Если вы хотите преобразовать это в число, вам придется убрать символ «$».   -  person Rahul    schedule 22.10.2009


Ответы (4)


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

или если это всегда первый символ, и вам не нужно беспокоиться о пробелах

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

person Joe K    schedule 05.11.2009
comment
Зачем тратить эту функцию длины без причины? Просто оставьте этот необязательный последний параметр SUBSTR. - person Amit Naidu; 06.03.2016

Вы можете взять исходный столбец «количество» в один элемент выражения, скажем «AMOUNT_INPUT» и добавить новый элемент в это выражение, так что «AMOUNT_OUTPUT» в этом сделает выражение как «TO_NUMBER (AMOUNT_INPUT ) "

person shanmugam    schedule 10.08.2011

Некоторые версии Informatica не поддерживают TO_NUMBER(). Если это так с версией, которую вы используете, вам нужно будет использовать одно из следующих, в зависимости от вашего варианта использования:

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

Подробнее об использовании см. справочник по функциям Informatica. .

person Jeffrey Blake    schedule 14.11.2013

Вы также можете использовать приведенную ниже логику, чтобы получить желаемый результат - REPLACESTR (1, AMOUNT, '$', '')

person Sandeep    schedule 30.07.2013