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

Bagaimana untuk Mengira Umur dari Tarikh Lahir Menggunakan MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-16 11:53:581010semak imbas

How to Calculate Age from a Date of Birth Using MySQL?

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:

  • Format tarikh dikembalikan selepas menolak tarikh.
  • Cara mengira umur seseorang menggunakan format yang dikembalikan.

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!

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