Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách tính tuổi từ ngày sinh trong MySQL

Công thức chuẩn:

SELECT DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), 'ngày_sinh')), '%Y') + 0 AS Tuổi;

Giải thích:

  • DATEDIFF(NOW(), ngày_sinh) – số ngày chênh lệch.
  • FROM_DAYS(số_ngày) – chuyển thành date từ năm 0.
  • DATE_FORMAT(..., '%Y') – lấy phần năm.
  • + 0 – ép kiểu sang số.

Ví dụ: sinh '1995-11-25', năm 2018 → 23 tuổi.

Cách đơn giản hơn (MySQL 8.0+): TIMESTAMPDIFF(YEAR, ngày_sinh, CURDATE()).