Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cukup ubah 5 digit angka di database mysql menjadi tanggal

Untuk beralih dari nilai Excel, coba ini:

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

Misalnya:

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

Mengembalikan 6 Juli 2009, sama seperti di Excel.

Dengan kata lain, Anda dapat memasukkan nilai sebagai bilangan bulat dan kemudian melakukan konversi dalam SQL.

Saya sebenarnya sedikit terkejut karena tanggal 0 di Excel pada dasarnya adalah 0, 1900, yaitu 31 Desember 1899. Saya menduga ada masalah dengan tidak adanya tahun kabisat pada tahun 1900. Excel memiliki nilai "60" direpresentasikan sebagai 29 Februari 1900. Ini lucu, saya tidak menyadari bahwa Excel memiliki bug ini.

Jadi, kode di atas berfungsi, untuk semua nilai yang lebih besar dari 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. Cara Memeriksa Versi MySQL

  2. Bagaimana cara menghitung persen?

  3. Cara menghitung kemiringan di SQL

  4. Dapatkan tanggal terdekat dari tabel MySQL

  5. Bagaimana cara memilih baris di mana nilai kolom BUKAN NULL menggunakan ActiveRecord CodeIgniter?