Um von Excel-Werten zu wechseln, versuchen Sie Folgendes:
select date('1899-12-30') + interval <number> days
Zum Beispiel:
select date('1899-12-30') + interval 40000 days
Gibt den 6. Juli 2009 zurück, genau wie in Excel.
Mit anderen Worten, Sie können den Wert als Ganzzahl eingeben und dann die Konvertierung in SQL durchführen.
Ich bin tatsächlich ein wenig überrascht, weil das 0-Datum in Excel im Wesentlichen der 0. Januar 1900 ist, was der 31. Dezember 1899 ist. Ich vermute, dass es ein Problem mit dem fehlenden Schaltjahr im Jahr 1900 gibt. Excel hat den Wert „60“. dargestellt als 29. Februar 1900. Das ist amüsant, ich hatte nicht bemerkt, dass Excel diesen Fehler hatte.
Der obige Code funktioniert also für alle Werte größer als 61.