Chcete-li přejít z hodnot Excelu, zkuste toto:
select date('1899-12-30') + interval <number> days
Například:
select date('1899-12-30') + interval 40000 days
Vrátí 6. července 2009, stejně jako v Excelu.
Jinými slovy, můžete zadat hodnotu jako celé číslo a poté provést převod v SQL.
Vlastně jsem trochu překvapen, protože datum 0 v Excelu je v podstatě 0 leden 1900, což je 31. prosince 1899. Mám podezření, že je problém s chybějícím přestupným rokem v roce 1900. Excel má hodnotu "60" reprezentováno jako 29.2.1900. To je zábavné, neuvědomil jsem si, že Excel má tuto chybu.
Výše uvedený kód tedy funguje pro všechny hodnoty větší než 61.