Table des matières

Search

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

Référence du langage de transformation

Référence du langage de transformation

TO_DECIMAL38

TO_DECIMAL38

Convertit une chaîne ou une valeur numérique en valeur décimale. TO_DECIMAL38 ignore les espaces du début.

Syntaxe

TO_DECIMAL38(
value
[,
scale
] )
Le tableau suivant décrit les arguments de cette commande:
Argument
Requis/
Facultatif
Description
valeur
Requis
Doit être un type de données de chaîne ou numérique. Transmet les valeurs que vous souhaitez convertir en valeurs décimales. Vous pouvez entrer l'expression de transformation valide de votre choix.
échelle
Facultatif
Doit être un littéral entier compris entre 0 et 38 (inclus). Spécifie le nombre de chiffres autorisés après le point décimal. Si vous omettez cet argument, la fonction renvoie une valeur ayant la même échelle que la valeur d'entrée.

Valeur de retour

Décimal dont la précision et l'échelle sont compris entre 0 et 38, inclus.
NULL si une valeur transmise à la fonction est NULL.
Si la valeur transmise à la fonction contient des données qui ne sont pas valides pour une valeur décimale, le service d'intégration de données marque la ligne comme une ligne d'erreur. Par exemple, si vous transmettez
TO_DECIMAL38("1234567890123456789012345678901234567890.12")
, le service d'intégration de données rejette la ligne.
Si la valeur de retour est décimale avec une précision supérieure à 15, vous pouvez activer la précision élevée pour garantir une précision décimale jusqu'à 38 chiffres.
Exemple
Cette expression utilise les valeurs du port IN_TAX. IN_TAX est un type de données de chaîne avec une précision de 44 chiffres. RETURN VALUE est un type de données décimal avec une précision de 38 et une échelle de 3 :
TO_DECIMAL38( IN_TAX, 3 )
IN_TAX
RETURN VALUE
'15.6789'
15.679
'60.2'
60.200
'118.348'
118.348
NULL
NULL
'A12.3Grove'
Error. Integration Service skips this row.
'1234567890.123'
1234567890.123
'123456789012345678901234567890.123'
123456789012345678901234567890.123
'1234567890123456789012345678901234567890.123'
Error. Integration Service skips this row.
'711A1'
Error. Integration Service skips this row.