sql >> Database >  >> RDS >> Oracle

INITCAP() Functie in Oracle

In Oracle, de INITCAP() functie retourneert zijn argument met de eerste letter van elk woord in hoofdletters en alle andere letters in kleine letters.

Voor speciale taalkundige vereisten voor hoofdletterconversies, kunt u de NLS_INITCAP() proberen functie in plaats daarvan.

Syntaxis

De syntaxis gaat als volgt:

INITCAP(char)

Waar char kan van elk gegevenstype zijn CHAR , VARCHAR2 , NCHAR , of NVARCHAR2 .

Voorbeeld

Hier is een eenvoudig voorbeeld om te demonstreren:

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

Resultaat:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Wat als ik alle HOOFDLETTERS doorloop?

Het doorgeven van alle hoofdletters verandert het resultaat niet:

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

Resultaat:

   INITCAP('PONZIINVESTMENTHOUSE') 
__________________________________ 
Ponzi Investment House            

Null-waarden

Doorgeven van null retourneert null :

SET NULL 'null';

SELECT INITCAP(null)
FROM DUAL;

Resultaat:

   INITCAP(NULL) 
________________ 
null            

Standaard retourneren SQLcl en SQL*Plus een spatie wanneer null treedt op als resultaat van een SQL SELECT uitspraak.

U kunt echter SET NULL . gebruiken om een ​​andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null moet worden geretourneerd.

Onjuist aantal argumenten

Aanroepen van INITCAP() zonder het doorgeven van argumenten geeft een fout:

SELECT INITCAP()
FROM DUAL;

Resultaat:

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:

En het doorgeven van het verkeerde aantal argumenten resulteert in een fout:

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

Resultaat:

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. Best Practice voor het maken van indexen op uw MySQL-tabellen - Rolling Index Builds

  2. Berichten en opmerkingen verwijderen uit Action Scheduler

  3. C#-geparametriseerde queries voor Oracle - serieuze en gevaarlijke bug!

  4. Hoe maak je een index voor elementen van een array in PostgreSQL?