Oracle
 sql >> Database >  >> RDS >> Oracle

INTCAP() Funzione in Oracle

In Oracle, il INITCAP() La funzione restituisce il suo argomento con la prima lettera di ogni parola in maiuscolo e tutte le altre lettere in minuscolo.

Per requisiti linguistici speciali per le conversioni di maiuscole, potresti provare il NLS_INITCAP() funzione invece.

Sintassi

La sintassi è questa:

INITCAP(char)

Dove char può essere di qualsiasi tipo di dati CHAR , VARCHAR2 , NCHAR o NVARCHAR2 .

Esempio

Ecco un semplice esempio da dimostrare:

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

Risultato:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Cosa succede se passo tutte le lettere MAIUSCOLE?

Il passaggio di tutte le lettere maiuscole non cambia il risultato:

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

Risultato:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Valori Nulli

Passaggio null restituisce null :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Risultato:

   INITCAP(NULL) 
________________ 
null            

Per impostazione predefinita, SQLcl e SQL*Plus restituiscono uno spazio vuoto ogni volta che null si verifica come risultato di un SQL SELECT dichiarazione.

Tuttavia, puoi utilizzare SET NULL per specificare una stringa diversa da restituire. Qui ho specificato che la stringa null deve essere restituito.

Conteggio argomenti errato

Chiamando INITCAP() senza passare alcun argomento restituisce un errore:

SELECT INITCAP()
FROM DUAL;

Risultato:

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:

E il passaggio del numero errato di argomenti genera un errore:

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

Risultato:

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: