SQL UPPER()

La fonction UPPER() dans le langage SQL permet de transformer tous les caractères en minuscules d’une chaîne de caractère en majuscules. Cette fonction peut donc avoir sont utilité pour présenter des résultats d’une certaine façon.

Attention : il faut surement faire attention à l’encodage utilisé. Avec MySQL, la fonction utilise par défaut le jeu ISO 8859-1 Latin1.

A noter : la fonction gère les caractères multi-octets (exemple : œ).

Compatibilité : la fonction SQL UPPER() fonctionne notamment sous MySQL, PostgreSQL, SQLite, SQL server et Oracle. A noter que sous MySQL et Oracle la fonction peut aussi être appelé grâce à l’alias UCASE().

Syntaxe

La syntaxe d’une requête utilisant cette fonction SQL est la suivante :

SELECT UPPER('Exemple');

Cette requête va retourner la chaîne suivante :

EXEMPLE

Cet exemple démontre bien que tous les caractères en minuscules vont passer en majuscule. La première lettre étant déjà en majuscule, elle reste la même.

Exemple

Imaginons une application ayant des utilisateurs. Cette application utilise une table qui stock le prénom, le nom et la ville de chaque utilisateur.

Table utilisateur :

idprenomnomville
1ConstantLabordeToulouse
2BenjaminRollandLyon
3CosetteTellierBordeaux
4PaulDucheminGrenoble

Afficher les résultats avec des majuscules

Il est possible d’afficher les prénoms et les noms en majuscules en utilisant la requête SQL suivante :

SELECT id, UPPER(prenom) AS prenom_upper, UPPER(nom) AS nom_upper, ville
FROM utilisateur

Résultat :

idprenom_uppernom_upperville
1CONSTANTLABORDEToulouse
2BENJAMINROLLANDLyon
3COSETTETELLIERBordeaux
4PAULDUCHEMINGrenoble

Chercher un prénom en majuscule

Imaginons que l’utilisateur recherche un prénom en utilisant des majuscules et que l’ont sais que la table stock les prénoms en minuscule. Pour pouvoir retrouver un utilisateur à partir de son prénom en majuscule, il suffirait alors d’utiliser la fonction UPPER() dans la clause WHERE, comme ceci:

SELECT id, prenom, nom, ville
FROM utilisateur
WHERE UPPER(prenom) = 'PAUL'

Résultat :

idprenomnomville
4PaulDucheminGrenoble

En savoir plus

Il existe une fonction similaire qui permet quant a elle de transformer un texte en minuscule : la fonction LOWER().

Bon à savoir : la fonction SQL UPPER() s’apparente en quelque sorte à la fonction strtoupper() de PHP ou toUpperCase() de Java ou javascript.

Partager