Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Po prostu przekonwertuj 5-cyfrowy numer w bazie mysql na datę

Aby przejść z wartości Excela, wypróbuj to:

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

Na przykład:

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

Zwraca 6 lipca 2009 r., tak jak w programie Excel.

Innymi słowy, możesz wprowadzić wartość jako liczbę całkowitą, a następnie dokonać konwersji w SQL.

Właściwie jestem trochę zaskoczony, ponieważ data 0 w programie Excel to w zasadzie 0 stycznia 1900, czyli 31 grudnia 1899. Podejrzewam, że istnieje problem z brakiem roku przestępnego w 1900. Excel ma wartość „60” reprezentowany jako 29 lutego 1900. To zabawne, nie zdawałem sobie sprawy, że Excel ma ten błąd.

Tak więc powyższy kod działa dla wszystkich wartości większych niż 61.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel dołącza do 3 stołów

  2. Kategorie rekurencyjne z jednym zapytaniem?

  3. Błąd podczas konfigurowania hibernacji 5.0.1 i MySQL

  4. Jak sumować z MySQL dla każdego n rekordu?

  5. MyBatis, jak uzyskać automatycznie wygenerowany klucz wkładki? [Mój SQL]