>데이터 베이스 >MySQL 튜토리얼 >MySQL을 사용하여 생년월일로 나이를 계산하는 방법은 무엇입니까?

MySQL을 사용하여 생년월일로 나이를 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-16 11:53:58977검색

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

MySQL(InnoDB)을 사용하여 나이 계산

이 글에서는 MySQL의 TIMESTAMPDIFF 함수를 사용하여 데이터베이스에 저장된 생년월일을 기준으로 나이를 계산하는 방법을 설명합니다.

질문:

생년월일이 'dd-mm-yyyy' 형식으로 저장되어 있다고 가정하면 다음을 확인해야 합니다.

  • 날짜를 뺀 후 반환되는 날짜 형식입니다.
  • 반환된 형식을 사용하여 사람의 나이를 계산하는 방법입니다.

해결책:

날짜 형식:

현재 날짜에서 다른 날짜를 뺀 후 MySQL이 반환하는 날짜 형식은 기본 MySQL 날짜 및 시간 형식인 YYYY-MM-DD HH:MM:SS입니다.

연령 계산:

TIMESTAMPDIFF 함수를 사용하면 서로 다른 단위(연도 포함)로 두 날짜의 차이를 계산할 수 있습니다. 예시는 다음과 같습니다.

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, '1970-02-01', CURDATE()) AS age;</code>

이 쿼리는 1970년 2월 1일과 현재 날짜의 차이를 계산하고 나이를 연 단위로 반환합니다.

예:

'dd-mm-yyyy' 형식의 'date_of_birth' 열이 포함된 테이블을 생각해 보세요.

<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>

'John Doe'의 나이를 계산하기 위해 다음 쿼리를 실행합니다.

<code class="language-sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS age
FROM persons
WHERE name = 'John Doe';</code>

이 쿼리는 다음 결과를 반환합니다:

<code>age
51</code>

위 내용은 MySQL을 사용하여 생년월일로 나이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.