Bagaimanakah Saya Boleh Mengira Umur Pelanggan dengan Tepat daripada DOB mereka dalam MySQL?

Linda Hamilton
Lepaskan: 2024-11-16 14:32:03
asal
986 orang telah melayarinya

How Can I Accurately Calculate a Customer's Age from Their DOB in MySQL?

Menentukan Umur daripada DOB dalam MySQL

Untuk memastikan umur pelanggan berdasarkan tarikh lahir mereka (DOB) yang disimpan dalam MySQL pangkalan data, seseorang menghadapi cabaran untuk mengira umur dengan tepat. Walaupun percubaan menggunakan DATEDIFF(year, customer.dob, "2010-01-01") mungkin mula terlintas di fikiran, ia mungkin tidak membuahkan hasil yang diharapkan.

Pengiraan Umur Tepat

Untuk mengatasi kebuntuan ini, pendekatan yang lebih halus diperlukan yang mempertimbangkan bukan sahaja perbezaan tahun antara tahun semasa dan tahun kelahiran pelanggan, tetapi juga kesan kemungkinan tarikh lahir tidak bertindih pada tahun tertentu.

MySQL Query

Query MySQL berikut menangkap butiran rumit pengiraan umur:

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
Salin selepas log masuk

Cara Ia Berfungsi:

  1. Perbezaan Tahun: Ungkapan DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') mengira perbezaan antara tahun semasa dan tahun kelahiran pelanggan.
  2. Pelarasan Tarikh Lahir: Penggal berikutnya (FORMAT_TARIKH(SEKARANG(), '00-%m-%d') < DATE_FORMAT(dob, '00- %m-%d')) menilai kedudukan relatif tarikh semasa dan tarikh lahir pelanggan dalam tahun kalendar. Jika tarikh lahir pada atau selepas tarikh semasa, ini menandakan bahawa tahun semasa telah mula menambah umur pelanggan, jadi nilai 1 ditolak.

Contoh Pengiraan

  • Bagi pelanggan yang lahir pada 1 Januari 1990, dan tarikh semasa ialah 15 Mac 2023, pertanyaan itu akan menghasilkan umur 33 tahun.
  • Sebaliknya, jika hari lahir pelanggan ialah 1 Julai 1990, pertanyaan akan mengembalikan umur 32 tahun, memandangkan 1 Julai belum lagi berlaku pada 2023.

Kesimpulan

Ini pertanyaan MySQL yang komprehensif memenuhi pertimbangan rumit yang terlibat dalam pengiraan umur yang tepat daripada DOB dengan memfaktorkan kesan tarikh lahir yang berbeza-beza dan perkembangan tahun kalendar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Umur Pelanggan dengan Tepat daripada DOB mereka 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