Convertir fecha UNIX_TIMESTAMP a fecha DATE

Usar la función de MYSQL FROM_UNIXTIME para convertir la fecha UNIX_TIMESTAMP a Date

Como ya sabréis, la marca de tiempo de UNIX empieza en 1970 y tiene caducidad en 2037. Aunque es posible que cualquier aplicación que desarrollemos ya no esté operativa para esas fechas, ¿por qué usar UNIX_TIMESTAMP? Hasta no hace demasiado un servidor lo usaba, pero al tratar con otros lenguajes de programación he visto que no tiene demasiado sentido, y aunque puede ser más cómodo en algunos casos usarlo (como en PHP), finalmente cada vez que desarrollo una nueva aplicación utilizo el tipo de dato DATE de MySQL.

Si tenéis tablas de MySQL con un campo definido como INT 11 que guarda esta marca de tiempo, os recomiendo pasaros a DATE con estas sencillas instrucciones.

ALTER TABLE `horario` ADD `fecha2` DATETIME NULL AFTER `fecha`;
UPDATE horario SET fecha2 = FROM_UNIXTIME(fecha);

Simplemente añadir un nuevo campo al lado del campo que queremos cambiar y luego utilizar la función FROM_UNIXTIME

ALTER TABLE `horario` DROP `fecha`;

Finalmente podemos borrar el campo antiguo si estamos seguros del cambio.