sql >> Database >  >> RDS >> Mysql

Dag en maand opslaan (zonder jaar)

De beste manier om datumgegevens op te slaan, zelfs als de jaarcomponent is niet vereist, is te gebruiken datum. Wanneer u het moet gebruiken, kunt u het jaar verwijderen of vervangen door het jaar waarmee wordt vergeleken (of het huidige jaar).

Als het in de datumkolom staat, vergemakkelijkt het correct sorteren, integriteit, validatie enz.

Om rekening te houden met schrikkeljaren, gebruikt u een jaar zoals '0004' dat '0004-02-29' toestaat. Het gebruik van jaar 4 maakt het iets ingewikkelder dan jaar 0, maar als voorbeeld, dit verandert de datum '29-feb' (jaar agnostisch) in een datum in dit jaar ter vergelijking met een ander veld

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

result: 2011-02-28


  1. NULL-complexiteit - Deel 4, Standaard unieke beperking ontbreekt

  2. Foutcode:1062. Dubbele invoer '1' voor sleutel 'PRIMARY'

  3. PostgreSQL Connection Pooling:Deel 2 – PgBouncer

  4. .Net MySql-fout De opgegeven sleutel was niet aanwezig in het woordenboek