Cadenasestándar SQL

LOWER

Pasa un texto a minúsculas.

Sintaxis

LOWER(<texto>)

Pone todas las letras en minúscula; los demás caracteres no cambian. Su contraparte es UPPER, que las pone en mayúscula. Lo más habitual es necesitar LOWER para comparar texto sin distinguir mayúsculas: Emma, emma y EMMA quedan iguales.

Datos para los ejemplos

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Estas tablas ya están creadas en el entorno de pruebas y los ejemplos de abajo las usan. ¿Quieres repetirlo en tu propia base de datos? Copia el SQL.

En minúsculas
SELECT LOWER('Hello, SQL') AS lower_case;
lower_case
hello, sql
Búsqueda sin distinguir mayúsculas
SELECT name, department
FROM employees
WHERE LOWER(name) = LOWER('EMMA');
namedepartment
Emmabackend

Escriban EMMA o emma en la búsqueda, pasamos los dos lados a minúsculas y Emma aparece.

Correos en un mismo formato
SELECT LOWER('Emma.Wilson@Example.COM') AS email;
email
emma.wilson@example.com

Las direcciones se suelen escribir de cualquier manera, pero es más cómodo guardarlas y compararlas en minúsculas.

Ten en cuenta

Lleva los dos lados al mismo formato: LOWER(name) = 'Emma' no encuentra a nadie, porque a la izquierda todo está en minúscula y a la derecha hay una E mayúscula.

Un índice normal sobre name no ayuda a una consulta con LOWER(name). Para esas búsquedas se crea un índice sobre la expresión: CREATE INDEX ON employees (LOWER(name));.

Para buscar por patrón sin distinguir mayúsculas existe ILIKE: name ILIKE 'em%'.

Funciones relacionadas