Kira umur dalam MySQL (InnoDB)
Jika tarikh lahir seseorang disimpan sebagai rentetan sebagai 'dd-mm-yyyy', menolaknya daripada tarikh semasa menggunakan fungsi DATE() atau CURDATE() akan mengembalikan hasil format 'YYYY-MM-DD'.
Untuk mengekstrak umur daripada keputusan ini, anda boleh menggunakan fungsi TIMESTAMPDIFF() dengan unit YEAR:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, DATE('1970-02-01'), CURDATE()) AS age;</code>
Dalam contoh ini, '1970-02-01' mewakili tarikh lahir orang itu. Umur yang terhasil ialah bilangan tahun lengkap yang telah berlalu sejak tarikh lahir mereka.
Demo
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', '2023-05-01') AS age;</code>
Output:
<code>age 53</code>
Ini menunjukkan cara menggunakan TIMESTAMPDIFF() untuk mengira umur berdasarkan tarikh lahir yang disimpan dan tarikh semasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Umur dari Tarikh Lahir yang Disimpan sebagai Rentetan dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!