2009-10-22 8 views
2

Je colonne de source (quantité) avec chaîne de type de données, contient les données comme 793,00 $, 5791,00 $, ...Comment convertir une chaîne en un nombre en utilisant la transformation d'expression dans informatica?

je dois charger ces mêmes données dans la colonne de la table cible (montant) avec datatype NOMBRE

comment puis-je obtenir ces mêmes données avec le symbole '$' dans la cible en utilisant la transformation d'expression dans informatica?

quelqu'un m'aider s'il vous plaît, merci d'avance.


+0

@madhina, voulez-vous dire "avec" ou "sans" le symbole $? Si vous souhaitez convertir cela en nombre, vous devrez supprimer le symbole '$'. – Rahul

Répondre

3

TO_NUMBER (SUBSTR (MONTANT, INSTR (montant, '$') + 1, LONGUEUR (MONTANT) -1))

ou si elle est toujours le premier caractère et vous n'avez pas vous soucier des espaces

TO_NUMBER (SUBSTR (mONTANT, 2, LONGUEUR (mONTANT) -1))

+0

Pourquoi perdre cette fonction sans raison? Il suffit de laisser de côté ce dernier paramètre facultatif de SUBSTR. –

1

Vous pouvez prendre la source colonne "quantité" dans un élément d'expression, dire "AMOUNT_INPUT" et ajouter un nouvel élément dans cette expression telle que "AMOUNT_OUTPUT" dans ce faire une expression comme "TO_NUMBER (AMOUNT_INPUT)"

0

Vous pouvez également utiliser ci-dessous logique pour obtenir le résultat désiré - ReplaceStr (1, MONTANT, '$', '')

1

Certaines versions d'Informatica ne prennent pas en charge TO_NUMBER() . Si tel est le cas avec la version que vous utilisez, vous devez utiliser un des éléments suivants, selon le cas pour votre cas d'utilisation:

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

Voir le reference of Informatica functions pour les détails d'utilisation.

Questions connexes