Mysql
 sql >> Database >  >> RDS >> Mysql

Converti semplicemente il numero di 5 cifre nel database mysql in una data

Per passare dai valori di Excel, prova questo:

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

Ad esempio:

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

Restituisce il 6 luglio 2009, proprio come in Excel.

In altre parole, puoi inserire il valore come intero e quindi eseguire la conversione in SQL.

In realtà sono un po' sorpreso perché la data 0 su Excel è essenzialmente il 0 gennaio 1900, che è il 31 dicembre 1899. Sospetto che ci sia un problema con la mancanza dell'anno bisestile nel 1900. Excel ha il valore di "60" rappresentato come 29 febbraio 1900. È divertente, non mi ero reso conto che Excel avesse questo bug.

Quindi, il codice sopra funziona, per tutti i valori maggiori di 61.