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.