Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengira Perbezaan Bulan dengan Tepat Antara Dua Tarikh dalam MySQL?

Bagaimanakah Saya Boleh Mengira Perbezaan Bulan dengan Tepat Antara Dua Tarikh dalam MySQL?

Susan Sarandon
Lepaskan: 2024-12-01 14:32:14
asal
423 orang telah melayarinya

How Can I Accurately Calculate the Month Difference Between Two Dates in MySQL?

Mengira Perbezaan Bulan Antara 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.

Bulan-Perbezaan tanpa Ketepatan

Untuk mendapatkan bilangan bulan berlalu antara dua tarikh tanpa perpuluhan ketepatan, gunakan sintaks berikut:

TIMESTAMPDIFF(MONTH, 'start_date', 'end_date')
Salin selepas log masuk

Ungkapan ini secara langsung mengembalikan bilangan bulan lengkap antara tarikh mula dan tamat.

Perbezaan Bulan dengan Ketepatan

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
  )
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan