Curso de Fundamentos de Bases de Datos

Funciones SQL para formatear texto, fechas y números

Curso de Fundamentos de Bases de Datos

Contenido del curso

Grabación

PlatziLearn

0:0021:49

Recursos

Resumen

Cuando una base de datos almacena una fecha como 2024-01-15 pero el reporte necesita mostrar "15 de enero de 2024", la diferencia la marcan las funciones de formato en SQL. Dominar estas funciones permite transformar datos crudos en resultados listos para presentar, ya sea en informes internos o en análisis de datos profesionales. A continuación se explican las funciones más útiles para trabajar con textos, fechas y números en PostgreSQL.

¿Cómo transformar cadenas de texto con UPPER, LOWER y TRIM?

Las funciones de texto son las más frecuentes en consultas SQL. Permiten controlar cómo se visualizan los datos sin modificar la información original almacenada.

  • UPPER: convierte toda una cadena de texto a mayúsculas. [01:13]
  • LOWER: convierte una cadena completa a minúsculas. [01:22]
  • TRIM: elimina los espacios en blanco antes y después de una cadena de texto. [01:28]
  • LTRIM: borra únicamente los espacios a la izquierda. [01:33]
  • RTRIM: borra únicamente los espacios a la derecha. [01:37]

Estas funciones resultan esenciales cuando los datos vienen con formatos inconsistentes y necesitamos uniformarlos para un reporte.

¿Para qué sirve la función LENGTH?

La función LENGTH devuelve la cantidad de caracteres que tiene una cadena de texto [02:14]. Por ejemplo, la palabra "nombre" tiene seis caracteres. Conocer el largo de un texto es útil cuando se necesita recortar información o definir qué tipo de dato usar en un informe específico.

¿Cómo unir campos con CONCAT y el operador doble pipe?

El operador doble pipe (||) funciona como concatenador de cadenas de texto [03:05]. Permite unir varios valores en uno solo. Un caso práctico: si una tabla tiene los campos nombre y apellido separados, se pueden combinar así:

sql SELECT nombre || ' ' || apellido AS nombre_completo FROM personas;

El resultado sería "Valter Calcaño", "María González" o "Juan Pérez", todo en un solo campo llamado nombre_completo [04:30].

¿Qué hacen SUBSTRING, LEFT, RIGHT y REPLACE?

La función SUBSTRING recorta una porción de texto indicando la posición inicial y la cantidad de caracteres [05:15]. Por ejemplo, SUBSTRING('postgres', 2, 5) devuelve ostgr, es decir, cinco caracteres a partir de la segunda posición.

  • LEFT: toma los primeros caracteres desde la izquierda. LEFT('postgres', 4) devuelve post. [06:20]
  • RIGHT: toma los últimos caracteres desde la derecha. RIGHT('postgres', 3) devuelve sql. [06:28]
  • REPLACE: reemplaza un carácter o fragmento dentro de una cadena por otro texto [07:10]. Por ejemplo, reemplazar el símbolo @ por la palabra "arroba" en un correo electrónico.

Todas estas funciones se pueden combinar entre sí, lo que permite resolver transformaciones complejas sobre datos con mucho texto.

¿Qué funciones de fecha existen en SQL?

Trabajar con fechas requiere funciones especializadas que consultan directamente al servidor o extraen componentes específicos.

  • NOW(): devuelve la fecha y hora actuales completas. [08:28]
  • CURRENT_DATE: devuelve solo la fecha actual. [08:35]
  • CURRENT_TIME: devuelve solo la hora actual con sus decimales. [08:40]
  • EXTRACT: extrae un componente específico de una fecha, como el año, el mes o el día [08:55]. Por ejemplo, EXTRACT(YEAR FROM '2024-01-15') devuelve 2024.

La aritmética de fechas permite sumar o restar intervalos de tiempo [09:25]. Usando CURRENT_DATE + INTERVAL '30 days' se obtiene la fecha dentro de treinta días. Con CURRENT_DATE - INTERVAL '1 year' se calcula qué fecha era hace un año. También es posible calcular la diferencia entre dos fechas, obteniendo el resultado en días [10:05].

¿Cómo funcionan ROUND, CEIL, FLOOR, ABS y COALESCE?

Las funciones numéricas son pocas pero fundamentales para análisis de datos.

  • ROUND: redondea un número a la cantidad de decimales indicada [10:50].
  • CEIL: redondea siempre hacia arriba, sin importar el decimal. CEIL(4.1) devuelve 5. [11:00]
  • FLOOR: redondea siempre hacia abajo. FLOOR(4.9) devuelve 4. [11:08]
  • ABS: devuelve el valor absoluto de un número, eliminando el signo negativo. [11:18]

Para mostrar números como formato de moneda se utiliza TO_CHAR [11:38], que transforma un valor numérico en texto con separadores de miles, decimales y el símbolo monetario correspondiente.

¿Cuándo usar COALESCE en consultas SQL?

La función COALESCE evalúa una lista de valores y devuelve el primer resultado no nulo [12:30]. Si se tiene COALESCE(NULL, 'sin teléfono'), el resultado es "sin teléfono". Con múltiples alternativas como COALESCE(NULL, NULL, 'sin contacto'), devuelve "sin contacto" porque es el primer valor que no es nulo.

En la práctica, COALESCE es muy útil cuando se hacen consultas a múltiples tablas y alguna podría devolver valores nulos [13:45]. Garantiza que siempre se obtenga un resultado presentable.

Un ejemplo que combina varias funciones en una sola consulta [14:25]:

sql SELECT '1001' AS pedido_id, TO_CHAR('2026-02-20'::date, 'DD/MM/YYYY') AS fecha_formato, 'Valter Calcaño' AS cliente, TO_CHAR(3 * 19990.50, '$99,999.99') AS total;

Este tipo de transformación es exactamente lo que se necesita en cada reporte real. Practica creando una query sobre una tabla de clientes que combine UPPER, LOWER, LENGTH, TO_CHAR y COALESCE, y comparte tus resultados en los comentarios.

Funciones SQL para formatear texto, fechas y números

Curso de Fundamentos de Bases de Datos

Clase 12 de 33

Clase 12 / 33