Las fechas en base de datos se almacena con el formato americano ‘YYYY-mm-dd‘, por ejemplo ‘2010-10-02′. En Latinoamérica lo normal es presentar las fechas en el orden inverso ‘dd-mm-YYYY’, quedando la fecha así ’02-10-2010′.
Si queremos cambiar el formato de las fechas en los resultados de una consulta en MySQL debemos utilizar la función “DATE_FORMAT” que permite indicar qué patrón se debe aplicar para convertir las fechas y mostrarlas en el formato correcto.
Vamos a ver en un pequeño ejemplo el uso de “DATE_FORMAT” en una consulta MySQL. Partimos de una tabla “Persona” con un campo llamado “Fecha_nacimiento” de tipo ‘date’. Si hacemos la siguiente consulta para obtener el listado de todas las personas:
SELECT Nombre, Fecha_Nacimiento FROM Persona;
Obtendremos una salida como esta:
NOMBRE | FECHA_NACIMIENTO ------------------------- AMPARO | 1969-05-12 LUIS | 1980-06-01
Como se puede comprobar, las fechas no salen en el formato que nosotros queremos. Para ello vamos a cambiar la consulta utilizando “DATE_FORMAT” indicando cómo queremos que muestren las fechas en la tabla de resultados de la consulta:
SELECT Nombre, DATE_FORMAT(Fecha_Nacimiento, "%d-%m-%Y") FROM Persona;
Si ejecutamos la consulta de nuevo, ahora veremos en los resultados obtenido la fecha aparece con el formato en el que queríamos:
NOMBRE | FECHA_NACIMIENTO ------------------------- AMPARO | 12-05-1969 LUIS | 01-06-1980
También podremos indicar el separado que queremos utilizar en la fecha. Podemos indica que en vez de los ‘-‘ el separador sea ‘/’:
SELECT Nombre, DATE_FORMAT(Fecha_Nacimiento, "%d/%m/%Y") FROM Persona;
Quedando ahora una salida como la siguiente:
NOMBRE | FECHA_NACIMIENTO ------------------------- AMPARO | 12/05/1969 LUIS | 01/06/1980
Para consultar más opciones de formato de fecha en MySql consultar la documentación oficial de de MySQL.