Gunakan MySQL (InnoDB) untuk mengira umur
Artikel ini menerangkan cara menggunakan fungsi TIMESTAMPDIFF
MySQL untuk mengira umur berdasarkan tarikh lahir yang disimpan dalam pangkalan data.
Soalan:
Dengan mengandaikan tarikh lahir disimpan dalam format 'dd-mm-yyyy', kita perlu menentukan:
Penyelesaian:
Format tarikh:
Format tarikh yang dikembalikan oleh MySQL selepas menolak tarikh lain daripada tarikh semasa ialah format tarikh dan masa MySQL lalai: YYYY-MM-DD HH:MM:SS.
Kira umur:
Kita boleh menggunakan fungsi TIMESTAMPDIFF
untuk mengira perbezaan antara dua tarikh dalam unit yang berbeza (termasuk tahun). Contohnya adalah seperti berikut:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>
Pertanyaan ini mengira perbezaan antara 1 Februari 1970 dan tarikh semasa dan mengembalikan umur dalam tahun.
Contoh:
Pertimbangkan jadual yang mengandungi lajur yang dipanggil 'tarikh_kelahiran' dalam format 'dd-mm-yyyy':
<code class="language-sql">CREATE TABLE persons ( id INT PRIMARY KEY, name VARCHAR(255), date_of_birth DATE ); INSERT INTO persons (name, date_of_birth) VALUES ('John Doe', '1970-02-01'), ('Jane Doe', '1975-04-15');</code>
Untuk mengira umur 'John Doe' kami akan menjalankan pertanyaan berikut:
<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS age FROM persons WHERE name = 'John Doe';</code>
Pertanyaan ini akan mengembalikan hasil:
<code>age 51</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengira Umur dari Tarikh Lahir Menggunakan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!