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: