Mysql
 sql >> Base de données >  >> RDS >> Mysql

Convertissez simplement un nombre à 5 chiffres dans la base de données mysql en une date

Pour partir des valeurs Excel, essayez ceci :

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

Par exemple :

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

Renvoie le 6 juillet 2009, comme dans Excel.

En d'autres termes, vous pouvez apporter la valeur sous forme d'entier, puis effectuer la conversion en SQL.

Je suis en fait un peu surpris car la date 0 sur Excel est essentiellement le 0 janvier 1900, soit le 31 décembre 1899. Je soupçonne qu'il y a un problème avec l'absence d'année bissextile en 1900. Excel a la valeur de "60" représenté comme le 29 février 1900. C'est amusant, je n'avais pas réalisé qu'Excel avait ce bug.

Ainsi, le code ci-dessus fonctionne, pour toutes les valeurs supérieures à 61.