Table des matières

Search

  1. Préface
  2. Le langage de transformation
  3. Constantes
  4. Opérateurs
  5. Variables
  6. Dates
  7. Fonctions

Transformation Language Reference

Transformation Language Reference

IS_NUMBER

IS_NUMBER

Indique si une chaîne est un nombre valide. Un nombre valide est composé des parties suivantes :
  • Espace facultatif avant le nombre
  • Signe (+/-) facultatif
  • Un ou plusieurs chiffres avec un point décimal facultatif
  • Notation scientifique facultative, comme la lettre « e » ou « E » (et la lettre « d » ou « D » sous Windows) suivie d'un signe (+/-) facultatif, suivi d'un ou plusieurs chiffres
  • Espace facultatif suivant le nombre
Les nombres suivants sont tous valides :
' 100  ' '   +100' '-100' '-3.45e+32' '+3.45E-32' '+3.45d+32' (
Windows only
) '+3.45D-32' (
Windows only
) '.6804'
Le port de sortie pour une expression IS_NUMBER doit être un type de données de chaîne ou numérique.
Vous pouvez utiliser IS_NUMBER pour tester ou filtrer les données dans un fichier simple avant d'écrire dans une cible.

Syntaxe

IS_NUMBER(
value
)
Le tableau suivant décrit l'argument de cette commande :
Argument
Obligatoire/
Facultatif
Description
valeur
Obligatoire
Doit être un type de données String. Transmet les lignes à évaluer. Vous pouvez entrer l'expression de transformation valide de votre choix.

Valeur de retour

TRUE (1) si la ligne est un nombre valide.
FALSE (0) si la ligne n'est pas un nombre valide.
NULL si une valeur dans l'expression est nulle.

Exemples

L'expression suivante vérifie les nombres valides du port ITEM_PRICE :
IS_NUMBER( ITEM_PRICE )
ITEM_PRICE
RETURN VALUE
'123.00'
1 (True)
'-3.45e+3'
1 (True)
'-3.45D-3'
1 (True - Windows only)
'-3.45d-3'
0 (False - UNIX only)
'3.45E-'
0 (False)  
Incomplete number
'    '
0 (False)  
Consists entirely of blanks
''
0 (False)  
Empty string
'+123abc'
0 (False)
'  123'
1 (True)  
Leading white blanks
'123  '
1 (True)  
Trailing white blanks
'ABC'
0 (False)
'-ABC'
0 (False)
NULL
NULL
Utilisez IS_NUMBER pour tester des données avant d'utiliser l'une des fonctions de conversion numérique, telles que TO_FLOAT. Par exemple, l'expression suivante vérifie les valeurs dans le port ITEM_PRICE et convertit chaque nombre valide en une valeur à virgule flottante double précision. Si la valeur n'est pas un nombre valide, le
Service d'intégration de données
renvoie 0.00 :
IIF( IS_NUMBER ( ITEM_PRICE ), TO_FLOAT( ITEM_PRICE ), 0.00 )
ITEM_PRICE
RETURN VALUE
'123.00'
123
'-3.45e+3'
-3450
'3.45E-3'
0.00345
'    '
0.00   
Consists entirely of blanks
''
0.00   
Empty string
'+123abc'
0.00
''  123ABC'
0.00
'ABC'
0.00
'-ABC'
0.00
NULL
NULL