Mysql
 sql >> Database >  >> RDS >> Mysql

Giorno e mese di memorizzazione (senza anno)

Il modo migliore per archiviare i dati sulla data, anche se la componente anno non è richiesta, è quella di utilizzare la data. Quando è necessario utilizzarlo, è possibile rimuovere l'anno o sostituirlo con l'anno da confrontare (o con l'anno in corso).

Averlo nella colonna della data facilita l'ordinamento corretto, l'integrità, la convalida ecc.

Per soddisfare gli anni bisestili, usa un anno come '0004' che consente '0004-02-29'. L'uso dell'anno 4 lo rende leggermente più complicato dell'anno 0, ma ad esempio, questo trasforma la data "29-Feb" (agnostica per l'anno) in una data di quest'anno per il confronto con qualche altro campo

select
    adddate(
    subdate(cast('0004-02-29' as date),
        interval 4 year),
        interval year(curdate()) year)

result: 2011-02-28