PostgreSQL LOWER
A função `LOWER` no PostgreSQL é uma função de string que converte todos os caracteres em uma string especificada para minúsculas. É útil para comparações de strings sem distinção entre maiúsculas e minúsculas e para formatar texto de forma consistente.
Uso
A função `LOWER` é normalmente usada quando você precisa garantir que os dados de texto estejam em letras minúsculas para fins de consistência, especialmente em consultas de pesquisa ou processos de normalização de dados. Ele recebe uma cadeia de caracteres como entrada e retorna a versão em minúsculas.
sql
LOWER(string)
Nessa sintaxe, `string` representa o texto a ser convertido em letras minúsculas.
Exemplos
1. Conversão básica
sql
SELECT LOWER('HELLO WORLD');
Este exemplo converte a string `'HELLO WORLD`` em `'hello world``.
2. Dados de coluna com letras minúsculas
sql
SELECT LOWER(product_name)
FROM products;
Aqui, a função `LOWER` converte todos os valores da coluna `product_name` da tabela `products` em letras minúsculas, o que pode ser útil para a formatação consistente dos dados.
3. Pesquisa com distinção entre maiúsculas e minúsculas
sql
SELECT *
FROM users
WHERE LOWER(email) = LOWER('Example@Domain.COM');
Essa consulta realiza uma pesquisa sem distinção entre maiúsculas e minúsculas, convertendo os dados da coluna e o termo de pesquisa em minúsculas, garantindo correspondências precisas independentemente das diferenças entre maiúsculas e minúsculas.
Dicas e práticas recomendadas
- Normalize os dados no ponto de entrada. Use `LOWER` para padronizar os dados na inserção para reduzir possíveis inconsistências.
- Combine com índices. Para pesquisas sem distinção entre maiúsculas e minúsculas, considere o uso de índices funcionais em `LOWER(column_name)` para melhorar o desempenho da consulta. Aqui está um exemplo de criação desse índice:
sql CREATE INDEX idx_lower_email ON users (LOWER(email));
- Evite o uso excessivo. Embora o `LOWER` seja útil para a consistência, o uso excessivo em instruções SELECT pode afetar o desempenho; use-o criteriosamente, especialmente em grandes conjuntos de dados.
- Considere as codificações de caracteres e os caracteres especiais. Lembre-se de que o `LOWER` respeita as configurações de codificação de caracteres do banco de dados, o que é importante para conjuntos de dados em vários idiomas e caracteres especiais.
- Considere as configurações de agrupamento. Certifique-se de que as configurações de agrupamento do seu banco de dados estejam alinhadas com as necessidades de diferenciação de maiúsculas e minúsculas da sua localidade para obter os melhores resultados.