집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!