Rumah > pangkalan data > tutorial mysql > Bagaimana Mengira Perbezaan Tahun Antara Dua Tarikh dengan Tepat dalam MySQL?

Bagaimana Mengira Perbezaan Tahun Antara Dua Tarikh dengan Tepat dalam MySQL?

Linda Hamilton
Lepaskan: 2025-01-09 18:37:48
asal
516 orang telah melayarinya

How to Accurately Calculate the Difference in Years Between Two Dates in MySQL?

Tepat Menentukan Perbezaan Tahun Antara Tarikh dalam MySQL

Cabaran:

Kira dengan tepat perbezaan tahun antara dua tarikh dalam pangkalan data MySQL, mengendalikan tahun lompat dengan betul dan memastikan hasil yang konsisten.

Penyelesaian MySQL:

<code class="language-sql">YEAR(date1) - YEAR(date2) - (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d'))</code>
Salin selepas log masuk

Pecahan Terperinci:

  • YEAR(date1) - YEAR(date2): Mengira perbezaan mentah dalam tahun antara dua tarikh input.
  • (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d')): Bahagian ini menyemak sama ada bulan dan hari date1 mendahului date2. Jika benar, ini bermakna date1 jatuh lebih awal dalam tahun berbanding date2, walaupun perbezaan tahun sudah dikira.

Hasil boolean (TRUE/FALSE) perbandingan ditukar secara tersirat kepada integer (1 untuk TRUE, 0 untuk FALSE). Integer ini kemudiannya ditolak daripada perbezaan tahun awal, memastikan pengiraan tahun yang tepat.

Contoh Ilustrasi:

Jadual berikut menunjukkan ketepatan kaedah:

<code>+------------+------------+------------+
| date1      | date2      | diff_years |
+------------+------------+------------+
| 2011-07-20 | 2011-07-18 |          0 |
| 2011-07-20 | 2010-07-20 |          1 |
| 2011-06-15 | 2008-04-11 |          3 |
| 2011-06-11 | 2001-10-11 |          9 |
| 2007-07-20 | 2004-07-20 |          3 |
+------------+------------+------------+</code>
Salin selepas log masuk

Ringkasan:

Ungkapan MySQL ringkas ini menyediakan kaedah yang boleh dipercayai dan tepat untuk mengira perbezaan tahun antara dua tarikh, dengan teliti mengambil kira tahun lompat dan mengekalkan konsistensi merentas pelbagai senario tarikh.

Atas ialah kandungan terperinci Bagaimana Mengira Perbezaan Tahun Antara Dua Tarikh dengan Tepat 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