sql >> Databáze >  >> RDS >> Oracle

Funkce INITCAP() v Oracle

V Oracle je to INITCAP() funkce vrací svůj argument s prvním písmenem každého slova velkým a všemi ostatními písmeny malými.

Pro speciální lingvistické požadavky na převod velkých a malých písmen můžete zkusit NLS_INITCAP() místo toho.

Syntaxe

Syntaxe vypadá takto:

INITCAP(char)

Kde char může být libovolného datového typu CHAR , VARCHAR2 , NCHAR nebo NVARCHAR2 .

Příklad

Zde je jednoduchý příklad k demonstraci:

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

Výsledek:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Co když předám všechna VELKÁ písmena?

Předání všech velkých písmen nezmění výsledek:

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

Výsledek:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Nulové hodnoty

Předávání null vrátí null :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Výsledek:

   INITCAP(NULL) 
________________ 
null            

Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo vždy, když null dochází v důsledku SQL SELECT prohlášení.

Můžete však použít SET NULL určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null by měl být vrácen.

Nesprávný počet argumentů

Volání INITCAP() bez předání jakýchkoli argumentů vrátí chybu:

SELECT INITCAP()
FROM DUAL;

Výsledek:

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:

A předání nesprávného počtu argumentů má za následek chybu:

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

Výsledek:

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:

  1. MySQL:Vyberte všechna data v rozsahu, i když nejsou k dispozici žádné záznamy

  2. Jak uniknout jedné uvozovce na serveru SQL Server?

  3. Volání uložené procedury Java v programu Java

  4. Jak převést časové razítko s milisekundami na datum v Oracle