Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL LOWER

La función `LOWER` de PostgreSQL es una función de cadena que convierte todos los caracteres de una cadena especificada a minúsculas. Es útil para comparar cadenas sin distinguir mayúsculas de minúsculas y para dar formato al texto de forma coherente.

Utilización

La función `LOWER` se utiliza normalmente cuando necesitas asegurarte de que los datos de texto están en minúsculas por coherencia, especialmente en consultas de búsqueda o procesos de normalización de datos. Toma una cadena como entrada y devuelve la versión en minúsculas.

sql
LOWER(string)

En esta sintaxis, `cadena` representa el texto que hay que convertir a minúsculas.

Ejemplos

1. Conversión básica

sql
SELECT LOWER('HELLO WORLD');

Este ejemplo convierte la cadena `'HOLA MUNDO'` en `'hola mundo'`.

2. Minúsculas en los datos de columna

sql
SELECT LOWER(product_name)
FROM products;

Aquí, la función `LOWER` convierte todos los valores de la columna `product_name` de la tabla `products` a minúsculas, lo que puede ser útil para dar un formato coherente a los datos.

3. Búsqueda sensible a mayúsculas y minúsculas

sql
SELECT *
FROM users
WHERE LOWER(email) = LOWER('Example@Domain.COM');

Esta consulta realiza una búsqueda que no distingue entre mayúsculas y minúsculas, convirtiendo tanto los datos de la columna como el término de búsqueda a minúsculas, lo que garantiza coincidencias precisas independientemente de las diferencias entre mayúsculas y minúsculas.

Consejos y buenas prácticas

  • Normaliza los datos en el punto de entrada. Utiliza `LOWER` para normalizar los datos al insertarlos y reducir posibles incoherencias.
  • Combinar con índices. Para las búsquedas que no distinguen mayúsculas de minúsculas, considera la posibilidad de utilizar índices funcionales en `LOWER(nombre_columna)` para mejorar el rendimiento de la consulta. Aquí tienes un ejemplo de creación de un índice de este tipo:
    sql
        CREATE INDEX idx_lower_email ON users (LOWER(email));
        
  • Evita un uso excesivo. Aunque `LOWER` es útil para mantener la coherencia, su uso excesivo en las sentencias SELECT puede afectar al rendimiento; utilízalo con criterio, especialmente en conjuntos de datos grandes.
  • Ten en cuenta las codificaciones de caracteres y los caracteres especiales. Ten en cuenta que `LOWER` respeta la configuración de codificación de caracteres de la base de datos, lo que es importante para los conjuntos de datos multilingües y los caracteres especiales.
  • Considera la configuración de la intercalación. Asegúrate de que la configuración de intercalación de tu base de datos se ajusta a las necesidades de distinción entre mayúsculas y minúsculas de tu configuración regional para obtener resultados óptimos.