Dans Oracle, le INITCAP()
La fonction renvoie son argument avec la première lettre de chaque mot en majuscule et toutes les autres lettres en minuscule.
Pour les exigences linguistiques spéciales pour les conversions de cas, vous pouvez essayer le NLS_INITCAP()
fonction à la place.
Syntaxe
La syntaxe ressemble à ceci :
INITCAP(char)
Où char
peut être de n'importe quel type de données CHAR
, VARCHAR2
, NCHAR
, ou NVARCHAR2
.
Exemple
Voici un exemple simple pour illustrer :
SELECT INITCAP('ponzi investment house')
FROM DUAL;
Résultat :
INITCAP('PONZIINVESTMENTHOUSE') __________________________________ Ponzi Investment House
Et si je réussis toutes les lettres MAJUSCULES ?
Passer toutes les lettres majuscules ne change pas le résultat :
SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL;
Résultat :
INITCAP('PONZIINVESTMENTHOUSE') __________________________________ Ponzi Investment House
Valeurs nulles
Passer null
renvoie null
:
SET NULL 'null';
SELECT INITCAP(null)
FROM DUAL;
Résultat :
INITCAP(NULL) ________________ null
Par défaut, SQLcl et SQL*Plus renvoient un espace vide chaque fois que null
se produit à la suite d'un SQL SELECT
déclaration.
Cependant, vous pouvez utiliser SET NULL
pour spécifier une autre chaîne à renvoyer. Ici, j'ai précisé que la chaîne null
doit être retourné.
Nombre d'arguments incorrects
Appel de INITCAP()
sans passer aucun argument renvoie une erreur :
SELECT INITCAP()
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT INITCAP() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Et passer le mauvais nombre d'arguments entraîne une erreur :
SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL;
Résultat :
Error starting at line : 1 in command - SELECT INITCAP('Gosh', 'Dang', 'Investments') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: