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

Armazenando dia e mês (sem ano)


A melhor maneira de armazenar dados de data, mesmo que o componente ano não é obrigatório, é usar a data. Quando você precisar usá-lo, poderá remover o ano ou substituí-lo pelo ano que está sendo comparado (ou ano atual).

Tê-lo na coluna de data facilita a classificação correta, integridade, validação etc.

Para atender aos anos bissextos, use um ano como '0004' que permite '0004-02-29'. Usar o ano 4 torna-o um pouco mais complicado do que o ano 0, mas como exemplo, isso transforma a data '29-Fev' (ano agnóstico) em uma data neste ano para comparação com algum outro campo
select
    adddate(
    subdate(cast('0004-02-29' as date),
        interval 4 year),
        interval year(curdate()) year)

result: 2011-02-28