Menentukan Umur dalam Pangkalan Data MySQL (InnoDB)
Katakan anda mempunyai jadual pangkalan data yang menyimpan tarikh lahir individu dalam format "dd-mm-yyyy". Pengiraan umur melibatkan penolakan tarikh lahir daripada tarikh semasa, tetapi ini menghasilkan perbezaan tarikh, bukan umur yang boleh digunakan.
Untuk mendapatkan umur dalam tahun, gunakan fungsi TIMESTAMPDIFF()
. Fungsi ini mengira perbezaan antara dua ungkapan masa tarikh, memberikan hasil dalam unit yang dipilih.
Sintaks Fungsi:
<code class="language-sql">TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)</code>
Berikut ialah cara menggunakannya untuk mengira umur:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>
Pertanyaan ini menolak tarikh lahir ('1970-02-01') daripada tarikh semasa (CURDATE()
), mengembalikan perbezaan dalam tahun.
Contoh Ilustrasi:
Dengan tarikh lahir '1970-02-01' dan tarikh semasa sebagai '2023-02-01':
<code>TIMESTAMPDIFF(YEAR, '1970-02-01', '2023-02-01') = 53</code>
Umur yang dikira ialah 53 tahun.
Pertimbangan Penting:
Pastikan lajur tarikh lahir anda adalah jenis datetime
atau date
yang diformat dengan betul; TIMESTAMPDIFF()
memerlukan jenis data yang serasi.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Umur dari Tarikh Lahir Menggunakan TIMESTAMPDIFF() MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!