>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 연령 차이를 정수로 계산하는 방법은 무엇입니까?

MySQL에서 연령 차이를 정수로 계산하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-29 18:10:50537검색

 How to Calculate Age Difference in Years as an Integer in MySQL?

MySQL에서 정수로 연도별 연령 차이 계산

데이터베이스에서 개인의 연령을 확인하는 것은 연령 계산을 처리할 때 약간의 어려움이 있습니다. . 'id' 및 'birth_date' 열이 있는 'student' 테이블을 생각해 보세요.

나이를 일 단위로 계산하려면 datediff(curdate(),birth_date) 표현식을 사용할 수 있지만 이는 부동 소수점 값을 반환합니다. . 365로 나누면 부동 소수점 값도 나옵니다.

년(curdate())-year(birth_date)로 연도를 계산하는 것도 문제가 발생합니다. 예를 들어, 사람이 1970년 6월에 태어났고 현재 날짜가 5월인 경우 표현식은 31년 대신 32년을 잘못 반환합니다.

정수 연도 차이에 대한 대체 솔루션:

이 문제를 해결하려면 다음 SQL 문을 고려하세요.

<code class="sql">SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student</code>

이 표현식은 'date_of_birth'와 'CURDATE()' 간의 차이를 연도 단위로 계산하여 정수 값을 생성합니다.

월 및 일 확장:

월 차이를 계산하려면 표현식에서 'YEAR'를 'MONTH'로 바꾸세요.

<code class="sql">SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student</code>

마찬가지로 일수 차이를 보려면 'YEAR'를 'DAY'로 바꾸세요.

<code class="sql">SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student</code>

위 내용은 MySQL에서 연령 차이를 정수로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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