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
Cara Ia Berfungsi:
Contoh Pengiraan
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!