En Oracle, INITCAP()
La función devuelve su argumento con la primera letra de cada palabra en mayúsculas y todas las demás letras en minúsculas.
Para requisitos lingüísticos especiales para conversiones de mayúsculas y minúsculas, puede probar el NLS_INITCAP()
en su lugar.
Sintaxis
La sintaxis es así:
INITCAP(char)
Donde char
puede ser de cualquiera de los tipos de datos CHAR
, VARCHAR2
, NCHAR
o NVARCHAR2
.
Ejemplo
Aquí hay un ejemplo simple para demostrarlo:
SELECT INITCAP('ponzi investment house')
FROM DUAL;
Resultado:
INITCAP('PONZIINVESTMENTHOUSE') __________________________________ Ponzi Investment House
¿Qué pasa si paso todas las letras MAYÚSCULAS?
Pasar todas las letras mayúsculas no cambia el resultado:
SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL;
Resultado:
INITCAP('PONZIINVESTMENTHOUSE') __________________________________ Ponzi Investment House
Valores nulos
Pasando null
devuelve null
:
SET NULL 'null';
SELECT INITCAP(null)
FROM DUAL;
Resultado:
INITCAP(NULL) ________________ null
De forma predeterminada, SQLcl y SQL*Plus devuelven un espacio en blanco cada vez que null
ocurre como resultado de un SQL SELECT
declaración.
Sin embargo, puede usar SET NULL
para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null
debe ser devuelto.
Recuento de argumentos incorrecto
Llamando a INITCAP()
sin pasar ningún argumento devuelve un error:
SELECT INITCAP()
FROM DUAL;
Resultado:
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:
Y pasar el número incorrecto de argumentos da como resultado un error:
SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL;
Resultado:
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: