Formatear fechas, horas y números con MySQL

Stay hungry, stay foolish

Steve Jobs

Uno de los problemas que se pueden plantear al usar MySQL es el formato en el que se guardan los datos de fecha y hora ya que son diferentes a los que mostramos, para ello podemos usar funciones para convertirlos por medio del lenguaje de servidor que utilicemos o recuperar el formato correcto en la consulta SQL utilizando las funciones proporcionadas por MySQL.

Para ello usaremos DATE_FORMAT(date,format) que es una función que se utiliza para mostrar los datos de fecha / hora en formatos diferentes.

Ejemplos de recuperar solo la fecha desde una consulta:

SELECT DATE_FORMAT(fecha_registro, '%d/%m/%Y') AS f_registro FROM miTabla

Ejemplos de recuperar solo la hora en formato de 12 horas y si es am o pm desde una consulta:

SELECT DATE_FORMAT(fecha_registro, '%H:%i %p') AS h_registro FROM miTabla

Ejemplo con la siguiente estructura Miércoles 07 de Junio de 2017.

SELECT date_format(date,'%W %d de %M de %Y') AS modified_date FROM posts;

También se pueden personalizar los numero pero es mas fácil controlarlos desde el lenguaje.

SELECT FORMAT(precio, 2) AS precio_venta FROM productos

Nota: También funciona en MariaDB.