La función LOWER en PostgreSQL es una herramienta básica pero poderosa para trabajar con texto en bases de datos. Su propósito principal es convertir una expresión o el valor de una columna a letras minúsculas, lo que resulta especialmente útil para normalizar datos textuales, realizar comparaciones insensibles a mayúsculas y minúsculas, o simplemente estandarizar la presentación de información.
Como parte de las funciones de cadena en PostgreSQL, LOWER destaca por su simplicidad y eficiencia, haciéndola imprescindible en tareas como la limpieza de datos o la generación de resultados consistentes en consultas. Su capacidad para trabajar con texto de forma directa y clara la convierte en una función fundamental en cualquier proyecto que maneje grandes volúmenes de información textual.
En este artículo, primero veremos la sintaxis básica de LOWER, y después exploraremos ejemplos prácticos para que puedas aprovechar al máximo su funcionalidad en diferentes escenarios.
Para más información, puedes consultar la documentación oficial de la función LOWER en PostgreSQL.
Sintaxis
La sintaxis para utilizar la función LOWER en PostgreSQL es la siguiente:
LOWER(expresión);
Esta función solo admite un argumento de tipo cadena (char, varchar, etc.). Si el argumento no es de este tipo, pero es compatible, PostgreSQL utilizará la función CAST internamente para convertirlo.
Ejemplos
Convertir una expresión
En el siguiente ejemplo convertimos a minúsculas la frase Blog de MIGUEL TROYANO.
SELECT LOWER('Blog de MIGUEL TROYANO');

Convertir una campo
En el siguiente ejemplo convertimos a minúsculas el campo nombre de la tabla empleados.
SELECT nombre, lower(nombre) from empleados;

Ejemplo completo
Copia y pega el siguiente código en tu consola de PostgreSQL y realiza paso a paso leyendo los comentarios.
-- www.MiguelTroyano.com -- Borramos la tabla si existe drop table empleados; -- Creamos la tabla create table empleados ( id_empleado numeric(2,0), id_departamento numeric(2,0), nombre character varying(50), puesto character varying(50), fecha_alta date, sueldo integer ); -- Insertamos valores insert into empleados values (1,1,'Miguel Troyano','Analista',to_date('26/09/1986','DD/MM/YYYY'),60000); insert into empleados values (2,1,'Ismael Troyano','Analista',to_date('01/01/2001','DD/MM/YYYY'),60000); insert into empleados values (3,1,'Jose Troyano','Alta Dirección',to_date('01/01/2001','DD/MM/YYYY'),80000); insert into empleados values (4,1,'Pilar Redondo','Alta Dirección',to_date('02/02/2002','DD/MM/YYYY'),80000); -- Convertimos a minúsculas un texto SELECT LOWER('Blog de MIGUEL TROYANO'); -- Convertimos a minúsculas el valor de un campo SELECT nombre, lower(nombre) from empleados;