Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengira Umur dari Tarikh Lahir dalam MySQL?

Bagaimana untuk Mengira Umur dari Tarikh Lahir dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-15 12:30:02325semak imbas

How to Calculate Age from Date of Birth in MySQL?

Mengambil Umur dari Tarikh Lahir dalam MySQL

Untuk mengira umur pelanggan berdasarkan tarikh lahir mereka yang disimpan dalam medan MySQL , adalah penting untuk mempertimbangkan konsep pengiraan umur. Umur ditentukan oleh perbezaan antara tarikh semasa dan tarikh lahir, dengan kaveat bahawa jika tarikh lahir dalam tahun semasa, umur perlu dikurangkan satu.

Penyelesaian:

Untuk mencapai ini, pertanyaan berikut boleh bekerja:

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

Pecahan:

  • FORMAT_TARIKH(SEKARANG(), '%Y'): Mendapatkan semula tahun semasa.
  • DATE_FORMAT(dob, '%Y'): Mengambil semula komponen tahun daripada dob medan.
  • FORMAT_TARIKH(SEKARANG(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d'): Menyemak sama ada tahun semasa telah melepasi hari lahir pelanggan, menghasilkan nilai Boolean (1 untuk benar, 0 untuk palsu).
  • Menolak ini Nilai boolean daripada perbezaan tahun melaraskan umur untuk menggambarkan umur semasa dengan tepat pelanggan.

Contoh:

Andaikan medan dob mengandungi nilai berikut: 1985-03-15. Untuk tarikh semasa 2023-04-28, pertanyaan akan menghasilkan keputusan berikut:

SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age
SELECT 2023 - 1985 - (20230428 < 19850315) AS age
SELECT 38 - 0 AS age
age = 38

Oleh itu, menggunakan pertanyaan dipertingkat ini, anda boleh mendapatkan semula umur pelanggan berdasarkan tarikh lahir mereka yang disimpan dalam medan MySQL dengan lebih ketepatan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Umur dari Tarikh Lahir dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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