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.