Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengira Perbezaan Bulan dengan Tepat Antara Dua Tarikh dalam MySQL?
MySQL menyediakan penyelesaian ringkas untuk mengira bilangan bulan antara dua tarikh dengan TIMESTAMPDIFF() fungsi. Tidak seperti membahagikan cap masa dengan anggaran untuk bilangan saat dalam sebulan, menggunakan TIMESTAMPDIFF() menghasilkan hasil yang tepat dengan mempertimbangkan variasi dalam tempoh bulan dan tahun lompat.
Untuk mendapatkan bilangan bulan berlalu antara dua tarikh tanpa perpuluhan ketepatan, gunakan sintaks berikut:
TIMESTAMPDIFF(MONTH, 'start_date', 'end_date')
Ungkapan ini secara langsung mengembalikan bilangan bulan lengkap antara tarikh mula dan tamat.
Untuk pengiraan perbezaan bulan yang tepat, termasuk nilai perpuluhan untuk mengambil kira bulan separa, gunakan formula ini:
TIMESTAMPDIFF(MONTH, startdate, enddate) + DATEDIFF( enddate, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH ) / DATEDIFF( startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) + 1 MONTH, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH )
Formula yang lebih kompleks ini mengira perbezaan dalam bulan dengan ketepatan, mengembalikan nilai seperti 0.7097 untuk perbezaan 27 hari antara '2012-05-05' dan '2012-05- 27'.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perbezaan Bulan dengan Tepat Antara Dua Tarikh dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!