Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonction INITCAP() dans Oracle

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)

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: