MASK : Extraire ou ajouter des caractères

Comment :

La fonction MASK extrait ou ajoute les caractères à une chaîne alphanumérique. Elle peut extraire une sous-chaîne de différentes parties de la chaîne parente, et également insérer des caractères d'une chaîne parente dans une autre sous-chaîne. Par exemple, on peut extraire les deux premiers caractères et les deux derniers caractères d'une chaîne pour former un seul sous-chaîne.

MASK fonctionne en comparant les caractères d'un masque à un champ source de ceux-ci. Lorsqu'il trouve 9 dans le masque, elle copie le caractère correspondant du champ source dans le nouveau champ. Lorsqu'il trouve un signe dollar dans le masque, MASK ignore le caractère correspondant dans le champ source. Lorsqu'il trouve n'importe quel autre caractère dans le masque, MASK copies ce caractère à la position correspondante dans le nouveau champ.

MASK remplace la fonctionnalité de masque de la fonction EDIT qui est disponible dans le langage de reporting.


Haut de page

x
Syntaxe : Extraire ou ajouter des caractères
MASK(fieldname, 'mask')

où :

fieldname

est le champ source.

mask

est une chaîne de caractères encadrée par des guillemets simples, ou un champ contenant celle-ci.



Exemple : Extraire un jeton d'un champ

MASK extrait la première initiale depuis le champ FIRST_NAME :

MASK(FIRST_NAME, '9$$$$$$$$$')

Les valeurs suivantes sont des exemples pour FIRST_NAME et les valeurs pour le résultat de la fonction MASK :

FIRST_NAME    MASK_FIRST_NAME 
----------    ---------------
MARY          M
DIANE         D
JOHN          J
ROSEMARIE     R
MARY          M
BARBARA       B


Exemple : Ajouter des tirets à un champ

MASK ajoute des tirets au champ EMP_ID :

MASK(EMP_ID, '999-99-9999')

Les valeurs suivantes sont des exemples pour EMP_ID et les valeurs pour le résultat de la fonction MASK :

EMP_ID       MASK_EMP_ID
------       -----------
112847612    112-84-7612
117593129    117-59-3129
219984371    219-98-4371
326179357    326-17-9357
543729165    543-72-9165
818692173    818-69-2173

WebFOCUS