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

Opbevaringsdag og måned (uden år)

Den bedste måde at gemme datodata på, selvom årskomponenten er ikke påkrævet, er at bruge dato. Når du skal bruge det, kan du fjerne årstal eller erstatte det med året, der sammenlignes med (eller indeværende år).

At have det i datokolonnen letter korrekt sortering, integritet, validering osv.

For at tage højde for skudår skal du bruge et år som "0004", som tillader "0004-02-29". Brug af år 4 gør det lidt mere kompliceret end år 0, men som et eksempel gør dette datoen '29-feb' (år agnostiker) til en dato i dette år til sammenligning med et andet felt

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

result: 2011-02-28


  1. Asynkron replikering automatisk failover i MySQL 8.0.22

  2. Oracle SQL Query logning

  3. Hvordan make_interval() virker i PostgreSQL

  4. Hvorfor kan jeg ikke oprette triggere på objekter, der ejes af SYS?