[ MySQL ] Como atualizar somente DIA | MÊS | ANO em uma data

Nesta dica irei demonstrar como atualizar uma porção de data no MySQL que possuem o tipo datetime, date, timestamp (YYYY-MM-DD) fazendo uso da função DATE_FORMAT, nativa do MySQL.

Partindo do pressuposto que você possui uma data salva nos tipos citados acima, você pode isolar as partes que deseja atualizar simplemente formatando o campo passando ele mesmo como argumento da função DATE_FORMAT.

Usando como exemplo a tabela fictícia “relatorios“, temos:

+------------+
| data       |
+------------+
| 2015-12-30 |
+------------+
1 row in set (0.01 sec)

 

Vamos alterar somente o dia para 31:

UPDATE relatorios SET data = DATE_FORMAT(data,'%Y-%m-31');

 

O que deverá retornar:

+------------+
| data       |
+------------+
| 2015-12-31 |
+------------+
1 row in set (0.02 sec)

 

Desse pressuposto, você pode concluir que para alterar MÊS e ANO:

UPDATE relatorios SET data = DATE_FORMAT(data,'%Y-01-%d');
UPDATE relatorios SET data = DATE_FORMAT(data,'2016-%m-%d');

 

Bom, é isso ai!
Espero que tenha ajudado.

Abraço do Giba.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *