Trending News

Blog

Format fecha SQL: Date Formatting in Spanish
Blog

Format fecha SQL: Date Formatting in Spanish 

¿Alguna vez te has encontrado con una fecha rara en tu base de datos y te preguntas: “¿Qué significa esto?” 😵‍💫 No te preocupes. Trabajar con fechas en SQL puede parecer complicado al principio, pero con un poco de diversión y ejemplos claros, aprenderás a domarlas como un profesional.

TL;DR (Too Long; Didn’t Read)

En SQL, las fechas pueden formatearse para que se vean bonitas y sean fáciles de leer en español. Esto se logra con funciones como FORMAT(), CONVERT() y DATE_FORMAT(). Puedes obtener día, mes, año… ¡lo que necesites! Es súper útil cuando estás mostrando datos en aplicaciones o reportes.

¿Por qué formatear fechas en SQL?

Imagina que tienes esta fecha: 2024-06-24. Para una máquina está genial. Pero para un humano, sobre todo si habla español, algo como “24 de junio de 2024” sería mucho más claro.

Entonces, la idea es: la base de datos guarda fechas de una manera precisa, pero tú puedes decidir cómo mostrarlas.

Conociendo el formato estándar: AAAA-MM-DD

SQL guarda las fechas en formato YYYY-MM-DD (año-mes-día). Por ejemplo:

2024-06-24

Este formato es el ideal para hacer cálculos y comparaciones en SQL (⬆️ súper importante para búsquedas o filtros). Pero para mostrar estos datos… meh 😐. Así que vamos a ver cómo ponerle sabor hispano a esas fechas.

¿Qué herramientas hay para formatear fechas?

Dependiendo del sistema de base de datos que estés usando, hay diferentes formas. Aquí te va un resumen:

  • SQL Server: usa CONVERT() y FORMAT()
  • MySQL: usa DATE_FORMAT()
  • PostgreSQL: usa TO_CHAR()

Veamos ejemplos con cada uno.

1. Formato de fechas en SQL Server

La función FORMAT() te permite mostrar la fecha como quieras:

SELECT FORMAT(GETDATE(), 'dd MMMM yyyy', 'es-es') AS FechaBonita;

Este código devolverá algo como:

24 junio 2024

¡Pero hay más! Puedes incluir día de la semana:

SELECT FORMAT(GETDATE(), 'dddd, dd MMMM yyyy', 'es-es') AS FechaElegante;

Resultado:

lunes, 24 junio 2024

Es-es indica que queremos el formato en español. Así que cuidado con ese detalle.

2. Formato de fechas en MySQL

MySQL usa la función DATE_FORMAT(), que es super poderosa. Aquí un ejemplo:

SELECT DATE_FORMAT(NOW(), '%d de %M de %Y') AS FechaEnEspanol;

Esto dará como resultado:

24 de junio de 2024

La lista de códigos más comunes para DATE_FORMAT() es:

  • %d: día (01 al 31)
  • %M: nombre del mes (en inglés o el idioma del sistema)
  • %Y: año (completo)

Si necesitas que el mes esté en español y no en inglés, asegúrate de configurar el idioma o usar funciones adicionales para traducir.

3. En PostgreSQL

En PostgreSQL, usamos la función TO_CHAR(). Mira este ejemplo:

SELECT TO_CHAR(NOW(), 'DD "de" Month "de" YYYY') AS FechaConEstilo;

Esto genera:

24 de June de 2024

“¡Ajá!”, dirás. A veces el mes sale en inglés. ¿Solución? Cambiar la configuración del lenguaje de la sesión:

SET lc_time = 'es_ES';
SELECT TO_CHAR(NOW(), 'DD "de" Month "de" YYYY') AS FechaBonita;

Con eso, ahora sí:

24 de junio de 2024
Calendar

¿Y si solo quiero el día, mes o año?

Fácil. Con estas funciones puedes sacar lo que quieras:

  • YEAR(fecha) → año
  • MONTH(fecha) → mes
  • DAY(fecha) → día

Ejemplo en SQL Server:

SELECT 
  YEAR(GETDATE()) AS Anio,
  MONTH(GETDATE()) AS Mes,
  DAY(GETDATE()) AS Dia;

Y en MySQL sería muy similar.

Pro tip: Nombres de días y meses en español

Una de las cosas más bonitas de formatear fechas es mostrar nombres como “lunes” o “diciembre”. Pero… eso depende del idioma que tengas configurado. Asegúrate de usar ‘es-es’ o lc_time = ‘es_ES’ para tener nombres en español.

¡Hora de jugar! 🎲

Vamos a ver cómo mostrar esta fecha ficticia: 2024-12-31

En formato largo:

  • “martes, 31 de diciembre de 2024”

En formato corto:

  • “31/12/2024”

Y si te quieres poner elegante: “31 de diciembre de 2024”

Todo eso lo puedes lograr en SQL usando FORMAT(), DATE_FORMAT() o TO_CHAR(), ¡según tu sistema!

Fechas para reportes: ¡más que estética!

No todo es verlo bonito. Formatear fechas es vital al:

  • Crear gráficos que se entiendan
  • Filtrar información por años o meses
  • Ordenar datos cronológicamente
  • Generar reportes legibles

Una buena presentación reduce errores y hace tu trabajo más confiable.

Ejercicio rápido 🧠

¿Puedes adivinar qué devuelve esto?

SELECT DATE_FORMAT('2024-06-30', '%W %d %M %Y');

Respuesta esperada:

domingo 30 junio 2024

¡Bravo si lo adivinaste! 🙌 Si no, no pasa nada: sigue practicando.

Resumen final

  • Los formatos de fecha pueden ser simples o elaborados
  • Las funciones cambian según el sistema (MySQL, SQL Server, PostgreSQL)
  • Configura el idioma si quieres obtener nombres en español
  • ¡Formatear fechas hace tu trabajo más profesional!

Así que ya lo sabes: la próxima vez que veas “2024-06-24” en tu base de datos, dale un toque humano con un buen formato en español. 💃🕺 ¡Tus usuarios te lo agradecerán!

Related posts

Leave a Reply

Required fields are marked *