sql >> Base de Datos >  >> RDS >> Oracle

Función INITCAP() en Oracle

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: