2009-10-22 6 views
2

У меня есть исходный столбец (количество) с типом данных строка содержит ДАННЫЕ, как $ 793,00, $ 5791,00, ...Как преобразовать строку в число с помощью преобразования выражения в informatica?

нужно загрузить эти же данные в колонке таблицы назначения (суммы) с типом данных NUMBER

как я могу получить эти же данные с символом «$» в целевом объекте с помощью преобразования выражений в информатике?

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


+0

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

ответ

3

TO_NUMBER (SUBSTR (СУММА, INSTR (СУММА, '$') + 1, LENGTH (СУММА) -1))

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

to_number (SUBSTR (сУММА, 2, LENGTH (сУММА) -1))

+0

Зачем тратить эту функцию на отсутствие причины? Просто оставьте этот необязательный последний параметр SUBSTR. –

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.