Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengira Perbezaan Bulan dengan Cekap Antara Dua Tarikh dalam MySQL?
Masalah:
Menentukan bilangan bulan antara dua medan tarikh dalam MySQL adalah tugas biasa. Walau bagaimanapun, menggunakan cap masa Unix dan pengiraan manual boleh menyusahkan.
Penyelesaian:
TIMESTAMPDIFF() Fungsi:
MySQL menawarkan fungsi TIMESTAMPDIFF(), yang memudahkan perbezaan bulan pengiraan. Sintaksnya ialah:
TIMESTAMPDIFF(unit, startdate, enddate)
di mana:
Untuk contoh:
SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-04') -- Outputs: 0 SELECT TIMESTAMPDIFF(MONTH, '2012-05-05', '2012-06-05') -- Outputs: 1
Perbezaan Bulan dengan Ketepatan:
Untuk mengira perbezaan bulan dengan ketepatan perpuluhan, gunakan formula berikut:
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 ini mengimbangi hari dan lompatan tahun.
Contoh:
startdate = '2012-05-05', enddate = '2012-05-27' -- Outputs: 0.7097 startdate = '2012-05-05', enddate = '2012-06-13' -- Outputs: 1.2667 startdate = '2012-02-27', enddate = '2012-06-02' -- Outputs: 3.1935
Dengan menggunakan fungsi TIMESTAMPDIFF() dan formula untuk ketepatan, anda boleh mengira perbezaan bulan antara tarikh dalam MySQL dengan mudah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Perbezaan Bulan dengan Cekap Antara Dua Tarikh dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!