sql >> Databasteknik >  >> RDS >> Mysql

Lagringsdag och månad (utan år)

Det bästa sättet att lagra datumdata, även om årskomponenten krävs inte, är att använda datum. När du behöver använda den kan du ta bort årtalet eller ersätta det med året som jämförs med (eller innevarande år).

Att ha det i datumkolumnen underlättar korrekt sortering, integritet, validering etc.

För att tillgodose skottår, använd ett år som '0004' som tillåter '0004-02-29'. Att använda år 4 gör det lite mer komplicerat än år 0, men som ett exempel förvandlar detta datumet '29-feb' (år agnostiker) till ett datum i detta år för jämförelse med något annat fält

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

result: 2011-02-28


  1. Användardefinierade variabler i PostgreSQL

  2. MySQL data trunkeringsfel

  3. Att komma runt MySQL Kan inte öppna tabellfel igen

  4. gör ett ID i en mysql-tabell auto_increment (i efterhand)