I Oracle, INITCAP() funktion returnerar sitt argument med den första bokstaven i varje ord med versaler och alla andra bokstäver med gemener.
För särskilda språkliga krav för fallkonverteringar, kanske du vill prova NLS_INITCAP() funktion istället.
Syntax
Syntaxen ser ut så här:
INITCAP(char)
Där char kan vara av vilken som helst av datatyperna CHAR , VARCHAR2 , NCHAR , eller NVARCHAR2 .
Exempel
Här är ett enkelt exempel att visa:
SELECT INITCAP('ponzi investment house')
FROM DUAL; Resultat:
INITCAP('PONZIINVESTMENTHOUSE')
__________________________________
Ponzi Investment House Vad händer om jag klarar alla STORA bokstäver?
Att skicka alla stora bokstäver ändrar inte resultatet:
SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL; Resultat:
INITCAP('PONZIINVESTMENTHOUSE')
__________________________________
Ponzi Investment House Nullvärden
Skickar null returnerar null :
SET NULL 'null';
SELECT INITCAP(null)
FROM DUAL; Resultat:
INITCAP(NULL) ________________ null
Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när null uppstår som ett resultat av en SQL SELECT påstående.
Du kan dock använda SET NULL för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null bör returneras.
Inkorrekt antal argument
Anropar INITCAP() utan att skicka några argument returnerar ett fel:
SELECT INITCAP()
FROM DUAL; Resultat:
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:
Och att skicka fel antal argument resulterar i ett fel:
SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL; Resultat:
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: