Dans le langage SQL, la fonction UCASE() permet de transformer toutes les lettres d’une chaîne de caractères pour les mettre en majuscule. Cela se révèle utile lorsqu’un système impose un certain formatage. Par ailleurs, utilisé conjointement avec la fonction SUBSTRING(), cela peut par exemple servir à mettre la première lettre d’une chaîne en majuscule.
Compatibilité : la fonction UCASE() fonctionne sous MySQL et Oracle et est un alias de la fonction UPPER(). Pour d’autres Systèmes de Gestion de Base de Données (SGBD), il convient d’utiliser seulement la fonction UPPER() qui quant à elle est compatible avec MySQL, PostgreSQL, SQLite, SQL Server et Oracle.
Syntaxe
La fonction s’utilise dans une requête en utilisant la syntaxe suivante :
SELECT UCASE('Exemple');
Cette requête retourne la chaîne de caractère “EXEMPLE” avec des caractères uniquement en majuscules.
Exemple
Pour comprendre l’utilité de la fonction dans un exemple très concret, imaginons une application quelconque possédant une table qui contient les utilisateurs. Dans la table des utilisateurs, plusieurs données sont enregistrées incluant le prénom, le nom et la ville.
Table utilisateur :
id | prenom | nom | ville |
---|---|---|---|
1 | Constant | Laborde | Toulouse |
2 | Benjamin | Rolland | Lyon |
3 | Cosette | Tellier | Bordeaux |
4 | Paul | Duchemin | Grenoble |
Afficher les résultats avec des majuscules
La requête ci-dessous permet d’afficher les prénoms et les noms en majuscules.
SELECT id, UCASE(prenom) AS prenom_upper, UCASE(nom) AS nom_upper, ville FROM utilisateur
Résultat :
id | prenom_upper | nom_upper | ville |
---|---|---|---|
1 | CONSTANT | LABORDE | Toulouse |
2 | BENJAMIN | ROLLAND | Lyon |
3 | COSETTE | TELLIER | Bordeaux |
4 | PAUL | DUCHEMIN | Grenoble |
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 UCASE() dans la clause WHERE.
SELECT id, prenom, nom, ville FROM utilisateur WHERE UCASE(prenom) = 'PAUL'
Résultat :
id | prenom | nom | ville |
---|---|---|---|
4 | Paul | Duchemin | Grenoble |
En savoir plus
La fonction LCASE() fonctionne sur le même principe à la différence qu’elle transforme tous les caractères en minuscule.
Bon à savoir : la fonction UCASE s’apparente en quelque sorte à la fonction strtoupper() de PHP ou toUpperCase() de Java ou javascript.