No Oracle, o
INITCAP()
A função retorna seu argumento com a primeira letra de cada palavra em maiúscula e todas as outras letras em minúsculas. Para requisitos linguísticos especiais para conversões de maiúsculas e minúsculas, você pode tentar o
NLS_INITCAP()
função em vez disso. Sintaxe
A sintaxe fica assim:
INITCAP(char)
Onde
char
pode ser de qualquer um dos tipos de dados CHAR
, VARCHAR2
, NCHAR
, ou NVARCHAR2
. Exemplo
Aqui está um exemplo simples para demonstrar:
SELECT INITCAP('ponzi investment house')
FROM DUAL;
Resultado:
INITCAP('PONZIINVESTMENTHOUSE') __________________________________ Ponzi Investment House
E se eu passar em todas as letras maiúsculas?
Passar todas as letras maiúsculas não altera o resultado:
SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL;
Resultado:
INITCAP('PONZIINVESTMENTHOUSE') __________________________________ Ponzi Investment House
Valores nulos
Passando
null
retorna null
:SET NULL 'null';
SELECT INITCAP(null)
FROM DUAL;
Resultado:
INITCAP(NULL) ________________ null
Por padrão, SQLcl e SQL*Plus retornam um espaço em branco sempre que
null
ocorre como resultado de um SQL SELECT
demonstração. No entanto, você pode usar
SET NULL
para especificar uma string diferente a ser retornada. Aqui eu especifiquei que a string null
deve ser devolvido. Contagem incorreta de argumentos
Chamando
INITCAP()
sem passar nenhum argumento retorna um erro: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:
E passar o número errado de argumentos resulta em um erro:
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: