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'.