INITCAP |
Initialise le majuscule |
|---|---|
| Oracle Database SQL | Oracle 9i ou supérieure |
Syntaxe
| initcap(chaine) |
Paramètres
| Nom | Description |
|---|---|
| chaine | Ce paramètre permet d'indiquer une chaîne de caractères dont le premier caractère de chaque mot devant être convertie en majuscule et les autres sont converties en minuscules. |
Description
Cette fonction permet de transformer en majuscule la première lettre de chaque mot d'une chaîne de caractères.
Remarques
- Transformation typographique standardisée : La fonction INITCAP permet d'appliquer un format typographique classique où la première lettre de chaque mot est en majuscule et les autres lettres en minuscules. Cela est particulièrement utile pour normaliser les noms propres, les titres ou les libellés dans des interfaces utilisateurs ou des rapports.
- Utile pour la présentation des noms et prénoms : Lorsqu'on entrepose des noms dans une base de données (exemple : jean dupont, DUPONT), INITCAP permet de les présenter de manière plus lisible : Jean Dupont. Cela améliore la qualité visuelle des affichages sans nécessiter de modifier les données d'origine.
- Gère automatiquement les espaces comme séparateurs : La fonction identifie les "mots" dans la chaîne à l'aide des espaces comme délimiteurs. Chaque mot séparé par un espace verra sa première lettre mise en majuscule, ce qui la rend très simple à utiliser dans des textes où la structure est régulière.
- Fonction de type chaîne, disponible en SQL et PL/SQL : INITCAP est une fonction native disponible aussi bien dans les requêtes SQL que dans les blocs de code PL/SQL. Elle peut donc être utilisée dans les vues, les procédures stockées, les déclencheurs ou même les expressions SELECT pour formater dynamiquement des chaînes.
- Compatible avec les accents et caractères Unicode : Depuis Oracle 9i et versions ultérieures, INITCAP est compatible avec les caractères accentués et Unicode, à condition que la base soit correctement configurée (exemple : encodage UTF-8). Cela permet de traiter correctement les langues comportant des caractères spéciaux, comme le français, l'espagnol ou l'allemand.
- Conversion stricte : le reste du mot devient minuscule : Contrairement à une simple mise en majuscule de la première lettre, INITCAP convertit automatiquement toutes les autres lettres en minuscules. Ainsi, INITCAP('jEAN-PiERRE') retourne Jean-pierre, ce qui peut ne pas convenir si des lettres doivent rester en capitales pour des raisons propres au domaine (exemple : sigles, acronymes).
- Peut être combinée avec des fonctions de nettoyage : Pour un meilleur résultat, INITCAP est souvent utilisée après des fonctions comme TRIM, LOWER, ou REPLACE pour nettoyer les chaînes d'entrée. Cela garantit une capitalisation cohérente même si les données d'origine sont mal formatées ou contiennent des espaces inutiles.
- Non limitée à des mots alphabétiques uniquement : INITCAP applique la majuscule sur tout caractère considéré comme une lettre en début de mot, même s'il est précédé de chiffres ou de symboles. Ainsi, INITCAP('123abc') retourne 123Abc, ce qui peut parfois produire un comportement inattendu selon les cas d'usage.
- Sensible au paramétrage linguistique de la session : La casse des lettres (ce qui est majuscule ou minuscule) dépend du paramétrage linguistique (NLS_SORT, NLS_COMP,...) de la session Oracle. Ces paramètres peuvent influencer le comportement de INITCAP pour certaines langues ou alphabets.
- Ne modifie pas les séparateurs non alphabétiques : Les séparateurs comme les tirets, les points ou les apostrophes ne sont pas modifiés par INITCAP. Par exemple, INITCAP('jean-pierre d'arc') retourne Jean-Pierre D'Arc, ce qui peut donner un affichage correct dans de nombreux cas typographiques, notamment les noms composés.
- Ne convient pas toujours aux règles linguistiques spécifiques : Dans certaines langues, la mise en majuscule de certains mots suit des règles grammaticales complexes ne pouvant pas être respectées par INITCAP. Par exemple, dans les titres anglais, seuls certains mots doivent être capitalisés. INITCAP ne peut pas distinguer ces cas.
- Simple mais efficace pour des tâches de présentation : Bien que très basique, INITCAP est souvent suffisante pour la majorité des besoins en présentation textuelle dans les bases de données. Elle permet de produire rapidement une sortie propre, sans avoir besoin de procédures complexes ni de traitements externes.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015