Vamos a empezar con una verdad simple pero súper importante: los datos por sí solos muchas veces están "en bruto". Un flujo sin procesar de números, fechas o cadenas es difícil de digerir. Imagina un informe donde las fechas están en formatos diferentes: unas como 01/02/2023 y otras como 2023-02-01. Eso puede liar incluso al analista más atento. Aquí es donde entra la magia del formateo de datos.
El formateo de datos te permite:
- Transformar los datos en un formato fácil de leer, lo que hace mucho más fácil trabajar con ellos.
- Ser un crack en análisis de datos, sacando la info que necesitas al vuelo.
- Preparar los datos para exportar o integrarlos con otros sistemas.
- Hacer que los informes y visualizaciones sean claros y precisos.
Imagina que curras en una universidad y tienes que hacer un informe con todos los estudiantes, su nombre completo, fecha de nacimiento y facultad. En vez de pegar los datos a mano, usas una consulta con formateo que junta nombre y apellido en una sola columna y la fecha de nacimiento la muestra en plan fácil, por ejemplo, 12 de marzo de 2001.
Tareas principales del formateo de datos
El formateo es como preparar una macedonia de frutas. No es solo tirar un montón de frutas en un bol, sino cortarlas bien y ponerlas bonito en el plato. En SQL, este curro se divide en varios tipos de tareas:
Formateo de cadenas
Puedes juntar cadenas, cambiar mayúsculas/minúsculas, añadir o quitar espacios y caracteres.
Formateo de números
A veces mola convertir números a cadenas o redondearlos a los decimales que quieras.
Trabajar con fechas y horas
Aquí puedes automatizar cosas como sacar la fecha actual, formatear datos de tiempo o extraer partes concretas de la fecha (por ejemplo, solo el año o solo el mes).
Sacar valores únicos
Si tu informe solo necesita mostrar registros únicos (por ejemplo, ciudades o facultades únicas), esto también es parte del formateo de datos.
Herramientas de formateo en PostgreSQL
Para trabajar con datos, PostgreSQL trae un montón de funciones ya listas. Aquí tienes solo una pequeña lista de lo que veremos en detalle en las siguientes lecciones:
Formateo de cadenas
CONCAT(): juntar cadenas.UPPER(),LOWER(): cambiar el caso del texto.
Formateo de fechas y horas
NOW(): fecha y hora actual.CURRENT_DATE: fecha actual (sin hora).DATE_PART(): sacar partes de la fecha, como el año o el mes.
Conversión de tipos
CAST(): cambiar el tipo de dato.- Sintaxis:
<valor>::<tipo>.
Ordenar datos
ORDER BY: ordenar datos por una o varias columnas.DISTINCT: sacar valores únicos.
Ejemplo de formateo de datos: ¿cómo se ve en la práctica?
Para que te motives, vamos a ver unos ejemplos. Empezamos por lo básico.
Ejemplo 1: Formateo de cadena
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM students;
Esta consulta junta first_name y last_name en una sola columna full_name. Por ejemplo, si el nombre del estudiante es "Otto" y el apellido es "Art", el resultado será: "Otto Art".
Ejemplo 2: Formateo de fecha
SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students;
Aquí solo sacamos el año de nacimiento de la columna date_of_birth. Si la fecha de nacimiento en la base es 2001-03-15, el resultado será 2001.
Ejemplo 3: Conversión de tipos
SELECT birth_year::text || ' año' AS formatted_year
FROM (
SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students
) subquery;
En esta consulta primero sacamos el año de nacimiento y luego lo convertimos en cadena, añadiendo la cadena " año". Por ejemplo, el resultado será: 2001 año.
¿Dónde se usa esto?
Informes para managers
No todo el mundo quiere ver datos "en bruto". Por ejemplo, en un informe de facturación de la empresa es mejor poner las sumas con separador de miles (1,000,000 en vez de 1000000), y las fechas en formato 21 FEB 2025.
Informes para clientes
Por ejemplo, un email al cliente con el texto: "Estimado/a [Nombre Apellido], tu pedido N123 fue entregado con éxito el 12 de octubre de 2023".
Integración con otros sistemas
Algunos formularios piden un formato concreto de datos: fechas en formato ISO, cadenas con el caso correcto, números redondeados.
Analítica y visualización
Imagina que haces gráficos o diagramas. Sin formatear, los gráficos pueden quedar muy raros.
GO TO FULL VERSION