За да преминете от стойностите на Excel, опитайте това:
select date('1899-12-30') + interval <number> days
Например:
select date('1899-12-30') + interval 40000 days
Връща 6 юли 2009 г., точно както в Excel.
С други думи, можете да въведете стойността като цяло число и след това да извършите преобразуването в SQL.
Всъщност съм малко изненадан, защото датата 0 в Excel по същество е 0 януари 1900 г., което е 31 декември 1899 г. Подозирам, че има проблем с липсата на високосна година през 1900 г. Excel има стойността на "60" представена като 29 февруари 1900 г. Това е забавно, не бях разбрал, че Excel има тази грешка.
И така, горният код работи за всички стойности, по-големи от 61.