sql >> Base de Datos >  >> RDS >> Mysql

Cómo cambiar los formatos de fecha y hora en MySQL

Problema:

Le gustaría cambiar el formato de los datos de fecha y hora en una base de datos MySQL.

Ejemplo:

Nuestra base de datos tiene una tabla llamada student_platform con datos en las columnas id , first_name , last_name y registration_datetime .

id nombre apellido registro_fechahora
1 Lora Lorens 2019-02-23 12:04:23
2 Ana Smith 2018-07-10 10:12:15
3 Tom Jackson 2019-03-09 08:20:33
4 Ricardo Williams 2018-09-30 06:07:34

Para cada estudiante, obtengamos su nombre, apellido y fecha y hora de registro. Sin embargo, queremos mostrar la fecha y la hora en el siguiente formato:nombre del día de la semana abreviado, coma, año, nombre del mes, día del mes y la hora en horas, minutos y segundos. Debería verse así:

Tue, 2019 February 17 11:18:55

Solución:

Usaremos el DATE_FORMAT() función. Esta es la consulta que escribirías:

SELECT first_name,
       last_name,
       DATE_FORMAT(registration_datetime,’%a, %Y %M %e %H:%i:%s’)
         AS format_registration_datetime
FROM student_platform;

Este es el resultado de la consulta:

nombre apellido formato_registro_fechahora
Lora Lorens Sábado, 23 de febrero de 2019 12:04:23
Ana Smith martes, 10 de julio de 2018 10:12:15
Tomás Jackson Sábado, 9 de marzo de 2019 08:20:33
Ricardo Williams lunes, 30 de septiembre de 2019 06:07:34

Discusión:

En una base de datos MySQL, la función DATE_FORMAT() le permite mostrar datos de fecha y hora en un formato modificado.

Esta función toma dos argumentos. El primero es la fecha/fechahora a reformatear; puede ser una columna de fecha/hora/fechahora/marca de tiempo o una expresión que devuelve un valor en uno de estos tipos de datos. (En nuestro ejemplo, usamos el registration_datetime columna de la datetime tipo de datos.)

El segundo argumento es una cadena que contiene el formato de fecha y hora deseado. MySQL pone a disposición una serie de especificadores, como:

  • %a – Nombre abreviado del día de la semana.
  • %Y – Año, en 4 dígitos.
  • %M – Nombre completo del mes.
  • %e – Día del mes (del 1 al 31).
  • %H – Hora (de 00 a 23).
  • %i – Minutos (de 00 a 59).
  • %s – Segundos (de 00 a 59).

Puede obtener más información sobre los especificadores de fecha y hora aquí, en la documentación oficial de MySQL.

Por ejemplo, Lora Lorens registrado el '2019-02-23 12:04:23'. Ahora, su fecha y hora de registro tienen el nuevo formato de 'Sábado, 23 de febrero de 2019 12:04:23'.