sql >> Database >  >> RDS >> Mysql

Converteer eenvoudig een 5-cijferig nummer in de mysql-database naar een datum

Probeer dit om van Excel-waarden te gaan:

select date('1899-12-30') + interval <number> days

Bijvoorbeeld:

select date('1899-12-30') + interval 40000 days

Retourneert 6 juli 2009, net als in Excel.

Met andere woorden, u kunt de waarde invoeren als een geheel getal en vervolgens de conversie uitvoeren in SQL.

Ik ben eigenlijk een beetje verrast omdat de 0-datum in Excel in wezen 0 januari 1900 is, dat is 31 december 1899. Ik vermoed dat er een probleem is met het ontbreken van een schrikkeljaar in 1900. Excel heeft de waarde "60" weergegeven als 29.1900 februari. Dit is grappig, ik had me niet gerealiseerd dat Excel deze bug had.

De bovenstaande code werkt dus voor alle waarden groter dan 61.



  1. FULLTEXT-zoekopdracht in MySQL levert geen rijen op

  2. Voer een PostgreSQL .sql-bestand uit met behulp van opdrachtregelargumenten

  3. Hoe te repareren "EXECUTE-instructie is mislukt omdat de WITH RESULT SETS-clausule 2 kolom(men) voor resultatenset specificeert ..." Msg 11537 in SQL Server

  4. Best practices voor zacht verwijderen (PHP/MySQL)