Problema:
Em uma string do PostgreSQL, você precisa colocar a primeira letra de cada palavra em maiúscula e o restante das letras em minúsculas.
Exemplo:
Nosso banco de dados tem uma tabela chamada
student
com dados em duas colunas, id e nome_completo . id | nome_completo |
---|---|
1 | ANNE WILLIAMS |
2 | Alice Brown |
3 | Gary JACKSON |
Vamos alterar a capitalização dos nomes completos dos alunos convertendo essa string para que apenas as primeiras letras do nome e do sobrenome sejam maiúsculas – exatamente como normalmente as escrevemos.
Solução:
Usaremos o
INITCAP()
função. Aqui está a consulta que você escreveria:SELECT INITCAP (full_name) AS new_full_name FROM student;
Aqui está o resultado:
new_full_name |
---|
Anne Williams |
Alice Brown |
Gary Jackson |
Discussão:
Use o
INITCAP()
função para converter uma string em uma nova string que coloca em maiúscula a primeira letra de cada palavra. Todas as outras letras serão minúsculas. Esta função recebe um parâmetro como uma string e altera a capitalização de cada palavra conforme descrito. Em nosso exemplo, o nome completo Anne Williams foi originalmente armazenado na coluna
full_name
como 'ANNE WILLIAMS'; após a conversão, este nome completo é 'Anne Williams'.