Oracle
 sql >> Datenbank >  >> RDS >> Oracle

INITCAP()-Funktion in Oracle

In Oracle das INITCAP() Die Funktion gibt ihr Argument mit dem ersten Buchstaben jedes Wortes in Großbuchstaben und allen anderen Buchstaben in Kleinbuchstaben zurück.

Für besondere linguistische Anforderungen für Groß- und Kleinschreibung können Sie NLS_INITCAP() ausprobieren stattdessen funktionieren.

Syntax

Die Syntax lautet wie folgt:

INITCAP(char)

Wobei char kann einen der Datentypen CHAR haben , VARCHAR2 , NCHAR , oder NVARCHAR2 .

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung:

SELECT INITCAP('ponzi investment house')
FROM DUAL;

Ergebnis:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Was ist, wenn ich nur GROSSBUCHSTABEN übergebe?

Wenn Sie nur Großbuchstaben übergeben, ändert sich das Ergebnis nicht:

SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL;

Ergebnis:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Nullwerte

Übergabe von null gibt null zurück :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Ergebnis:

   INITCAP(NULL) 
________________ 
null            

Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null tritt als Ergebnis eines SQL SELECT auf Erklärung.

Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.

Falsche Argumentanzahl

Aufruf von INITCAP() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT INITCAP()
FROM DUAL;

Ergebnis:

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:

Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:

SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL;

Ergebnis:

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: