Comment : |
Langages disponibles : reporting
La fonction UPCASE convertit une chaîne de caractères en majuscule. Il est utile pour le tri sur un champ qui contient à la fois des valeurs de casses mixtes et majuscules. Le tri sur un champ casse-mixte produit des résultats incorrects parce que la séquence de tri en EBCDIC place toujours les lettres en minuscule avant les majuscules, tandis que la séquence de tri ASCII place toujours les espaces en majuscule avant les minuscules. Pour obtenir des résultats corrects, définir le nouveau champ avec toutes les valeurs en majuscule, et faire un tri de celui-ci.
Il existe une version de la fonction UPCASE qui est disponible uniquement dans le langage Maintain. Pour plus d'informations sur cette fonction, consultez UPCASE : Convertir du texte en majuscule (Maintain).
UPCASE(length, source_string, output)
où :
Entier
est le nombre de caractères dans la chaîne source_string et le champ de sortie.
Alphanumérique
est une chaîne à convertir encadrée par des guillemets simples, ou le champ contenant celle-ci.
Alphanumérique de type AnV ou An
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.
UPCASE convertit le champ LAST_NAME_MIXED en majuscules :
DEFINE FILE EMPLOYEE
LAST_NAME_MIXED/A15=IF DEPARTMENT EQ 'MIS' THEN LAST_NAME ELSE
LCWORD(15, LAST_NAME, 'A15');
LAST_NAME_UPPER/A15=UPCASE(15, LAST_NAME_MIXED, 'A15') ;
END
TABLE FILE EMPLOYEE PRINT LAST_NAME_MIXED AND FIRST_NAME BY LAST_NAME_UPPER WHERE CURR_JOBCODE EQ 'B02' OR 'A17' OR 'B04'; END
Après l'exécution de la requête, les noms seront triés correctement.
La sortie est :
LAST_NAME_UPPER LAST_NAME_MIXED FIRST_NAME --------------- --------------- ---------- BANNING Banning JOHN BLACKWOOD BLACKWOOD ROSEMARIE CROSS CROSS BARBARA MCCOY MCCOY JOHN MCKNIGHT Mcknight ROGER ROMANS Romans ANTHONY
Si vous ne voulez pas voir le champ avec toutes ces valeurs en majuscules, vous pouvez lui appliquer la fonction NOPRINT.
WebFOCUS |