Fonction LEADINGZEROS( )
Ajoute des zéros de début à une chaîne de caractères ou à un nombre.
Syntaxe
LEADINGZEROS(chaîne_de_caractères/nombre; longueur)
Paramètres
Nom | Type | Description |
---|---|---|
chaîne/chiffre | caractère numérique |
Le champ, l'expression ou la valeur littérale auquel ajouter des zéros de début. Les espaces de début et de fin sont tronqués automatiquement dans les valeurs de type caractère et dans le résultat des expressions de type caractère avant l'ajout des zéros de début. |
longueur | numérique |
Longueur de la chaîne de sortie. Remarque Une valeur de chaîne de caractères/nombre plus longue que longueur est tronquée à partir de la gauche. |
Sortie
Caractère.
Exemples
Exemples basiques
Entrée de type caractère
Renvoie "000235" car le paramètre longueur est supérieur au nombre de caractères dans chaîne de caractères/nombre ; par conséquent, trois zéros de début sont ajoutés au résultat :
LEADINGZEROS("235"; 6)
Renvoie "35" car le paramètre longueur est inférieur au nombre de caractères dans chaîne de caractères/nombre ; par conséquent, le résultat est tronqué à gauche :
LEADINGZEROS("235"; 2)
Valeur d'entrée nombre entier
Renvoie "235" :
LEADINGZEROS(235; 3)
Renvoie "00235" car le paramètre longueur est supérieur au nombre de chiffres dans chaîne de caractères/nombre ; par conséquent, deux zéros de tête sont ajoutés au résultat :
LEADINGZEROS(235; 5)
Valeur d'entrée décimale
Renvoie "023585", car LEADINGZEROS( ) supprime la virgule décimale :
LEADINGZEROS(235,85; 6)
Valeur d'entrée négative
Renvoie "0644894", car LEADINGZEROS( ) supprime le signe négatif :
LEADINGZEROS(-6448,94; 7)
Exemples avancés
Ajout de zéros de début à un champ de type caractère contenant des chiffres
Le champ Numéro_employé contient la valeur "254879". Vous devez convertir la valeur en chaînes de 10 chiffres avec des zéros de début.
COMMENT renvoie "0000254879" ASSIGN v_longueur_chaîne = 10 LEADINGZEROS(Numéro_employé; v_longueur_chaîne)
Harmonisation d'un champ clé lors de l'association de tables
Vous avez deux tables, Ar et Client, et vous prévoyez de les associer sur le champ clé numéro de client pour une analyse ultérieure. Cependant, les deux champs clés présentent des formats de données différents, ce qui empêche la bonne correspondance des valeurs :
Table | Champ clé | Type de données | Longueur de champ | Exemple |
---|---|---|---|---|
Ar | NumClient | Numérique | 4 | 4455 |
Client | NumClient | Caractère |
6 (remplit les numéros avec des zéros de début) |
"004455" |
Pour harmoniser les champs pour les associer, vous créez un champ calculé dans la table Ar utilisant la fonction LEADINGZEROS( ). Vous associez ensuite à l'aide du champ calculé :
OPEN Client INDEX ON NumClient TO Client_sur_NumClient OPEN Comptes_clients COMMENT Créez le champ calculé NumClient_Zéros qui convertit le champ NumClient en type de données caractères et ajoute des zéros de début. DEFINE FIELD NumClient_Zéros COMPUTED LEADINGZEROS(NumClient;6) COMMENT Associez la table Ar à l'aide du champ calculé NumClient_Zéros nouvellement créé. DEFINE RELATION NumClient_Zéros WITH Customer INDEX Client_sur_NumClient
Remarques
Fonctionnement
Cette fonction ajoute des zéros de début à la sortie si la longueur de sortie que vous spécifiez est supérieure à la longueur d'une valeur d'introduction. La fonction accepte diverses sortes d'entrées de type caractère et numérique et sort une chaîne de type caractères. La fonction fonctionne de la même manière dans les éditions Unicode et non Unicode d'Analytics.
La fonction est communément utilisée pour normaliser des champs qui requièrent des zéros de tête (par exemple, un numéro de chèque, un numéro de bon de commande et des champs de numéro de facture).
Longueur des entrées et valeurs de sortie
Longueur des entrées | Valeurs de sortie |
---|---|
chaîne de caractères/nombre inférieur à longueur | zéros de début ajoutés |
chaîne de caractères/nombre égal à longueur | aucun zéro ajouté |
chaîne de caractères/nombre supérieur à longueur | valeurs tronquées à partir de la gauche |
Signe négatif, séparateur des milliers et virgule décimale
Valeurs d'introduction | Résultat |
---|---|
Numérique |
LEADINGZEROS( ) supprime le signe négatif, le séparateur des milliers et la virgule décimale des valeurs d'introduction numériques. Les symboles supprimés ne sont pas inclus dans la longueur de la valeur d'introduction. |
Caractère |
LEADINGZEROS( ) ne supprime pas le signe négatif, le séparateur des milliers ou la virgule décimale des valeurs d'introduction de type caractère. Les symboles supprimés sont inclus dans la longueur de la valeur d'introduction. |