Dans cette section : |
Une expression de caractères utilise des constantes alphanumériques, des champs, des opérateurs de concaténation ou des fonctions pour obtenir une valeur alphanumérique.
Vous pouvez attribuer aux champs de texte et alphanumériques des valeurs stockées dans des champs de texte ou des expressions alphanumériques dans les commandes TABLE COMPUTE, MODIFY COMPUTE et DEFINE. Si la valeur d'un champ de texte trop long pour le champ alphanumérique est attribué à un champ alphanumérique, la valeur est tronquée avant d'être attribuée à un champ alphanumérique.
Une expression de caractères peut consister en :
COMPUTE STATE/A2 = 'NY';
DEFINE FILE EMPLOYEE TITLE/A19 = 'DR. ' | LAST_NAME; END
DEFINE FILE EMPLOYEE INITIAL/A1 = EDIT(FIRST_NAME, '9$$$$$$$$$$'); END
Remarque : les caractères non imprimables ne sont pas pris en charge dans une constance alphanumérique.
Sous certaines conditions, vous pouvez utiliser des chaînes délimitées par des guillemets contenant des guillemets incorporés. Dans la chaîne, vous pouvez utiliser soit un seul guillemet ou deux guillemets contigus uniques pour représenter le guillemet unique. Tous les deux sont interprétés en tant que guillemet unique.
Vous pouvez utiliser des chaînes délimitées par des guillemets avec :
L'exemple suivant illustre l'utilisation des guillemets pour l'interprétation correcte de la valeur de données O'BRIEN : chaîne délimitée par des guillemets guillemets incorporés ;
TABLE FILE VIDEOTRK PRINT LASTNAME WHERE LASTNAME IS 'O'BRIEN' END
Vous pouvez écrire une expression qui concatène deux constantes alphanumériques et/ou deux champs ou plus en une seule chaîne de caractères. Cet opérateur de concaténation prend deux formes, comme le montre la table suivante :
Symbole |
Représente |
Description |
---|---|---|
| |
Concaténation faible |
Garde les espaces de droite. |
|| |
Concaténation forte |
Déplace les espaces de droite vers la fin d'une chaîne concaténée. |
L'exemple suivant utilise la fonction EDIT pour extraire la première initiale d'un prénom. Il utilise alors la concaténation faible et forte pour produire le nom, suivi d'une virgule, suivi de la première initiale, suivi d'un point :
DEFINE FILE EMPLOYEE FIRST_INIT/A1 = EDIT(FIRST_NAME, '9$$$$$$$$$'); NAME/A19 = LAST_NAME ||(', '| FIRST_INIT |'.'); END
TABLE FILE EMPLOYEE PRINT NAME WHERE LAST_NAME IS 'BANNING' END
La sortie est :
NAME ---- BANNING, J.
La requête évalue les expressions de la façon suivante :
, J.
Banning, J.
Bien que LAST_NAME soit au format A15 dans le fichier Master EMPLOYEE, la concaténation forte supprime les espaces de droite. Sans tenir compte de la suppression ou de l'inclusion d'espaces, le nom de champ résultant, NAME, est long de 19 caractères.
WebFOCUS |