Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como alterar os formatos de data e hora no MySQL

Problema:


Você gostaria de alterar o formato dos dados de data e hora em um banco de dados MySQL.

Exemplo:


Nosso banco de dados tem uma tabela chamada student_platform com dados nas colunas id , first_name , last_name e registration_datetime .
id first_name last_name registration_datetime
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 Richard Williams 2018-09-30 06:07:34

Para cada aluno, vamos obter seu nome, sobrenome e data e hora de inscrição. No entanto, queremos exibir a data e a hora no seguinte formato:nome do dia da semana abreviado, vírgula, ano, nome do mês, dia do mês e a hora em horas, minutos e segundos. Deve ficar assim:
Tue, 2019 February 17 11:18:55

Solução:


Usaremos o DATE_FORMAT() função. Aqui está a consulta que você escreveria:
SELECT first_name,
       last_name,
       DATE_FORMAT(registration_datetime,’%a, %Y %M %e %H:%i:%s’)
         AS format_registration_datetime
FROM student_platform;

Segue o resultado da consulta:
first_name last_name format_registration_datetime
Lora Lorens Sáb, 23 de fevereiro de 2019 12:04:23
Ana Smith Ter, 10 de julho de 2018 10:12:15
Tom Jackson Sáb, 9 de março de 2019 08:20:33
Richard Williams Seg, 30 de setembro de 2019 06:07:34

Discussão:


Em um banco de dados MySQL, a função DATE_FORMAT() permite exibir dados de data e hora em um formato alterado.

Esta função recebe dois argumentos. A primeira é a data/datahora a ser reformatada; pode ser uma coluna de data/hora/datahora/carimbo de hora ou uma expressão que retorna um valor em um desses tipos de dados. (Em nosso exemplo, usamos o registration_datetime coluna da datahora tipo de dados.)

O segundo argumento é uma string contendo o formato de data e hora desejado. O MySQL disponibiliza vários especificadores, como:
  • %a – Nome abreviado do dia da semana.
  • %Y – Ano, em 4 dígitos.
  • %M – Nome completo do mês.
  • %e – Dia do mês (de 1 a 31).
  • %H – Hora (de 00-23).
  • %i – Minutos (de 00 a 59).
  • %s – Segundos (de 00 a 59).

Você pode aprender mais sobre especificadores de data e hora aqui, na documentação oficial do MySQL.

Por exemplo, Lora Lorens registrado em '2019-02-23 12:04:23'. Agora, sua data e hora de registro têm o novo formato de 'Sáb, 23 de fevereiro de 2019 12:04:23'.