MySQL에서 정수로 연도별 연령 차이 계산
데이터베이스에서 사람의 연령을 확인하는 것은 연령 계산을 처리할 때 약간의 어려움이 있습니다. . 'id' 및 'birth_date' 열이 있는 'student' 테이블을 생각해 보세요.
나이를 일 단위로 계산하려면 datediff(curdate(),birth_date) 표현식을 사용할 수 있지만 이는 부동 소수점 값을 반환합니다. . 365로 나누면 부동 소수점 값도 생성됩니다.
연도를 연도(curdate())-연도(생년월일)로 계산하면 문제가 발생합니다. 예를 들어, 사람이 1970년 6월에 태어났고 현재 날짜가 5월인 경우 표현식은 31년 대신 32년을 잘못 반환합니다.
정수 연도 차이에 대한 대체 솔루션:
이 문제를 해결하려면 다음 SQL 문을 고려하세요.
SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student
이 표현식은 '생년월일'과 'CURDATE()' 간의 차이를 연 단위로 계산하여 정수 값을 반환합니다.
월 및 일 확장:
월 차이를 계산하려면 표현식에서 'YEAR'를 'MONTH'로 사용:
SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student
마찬가지로 일수 차이에 대해 다음을 바꿉니다. '연도'와 'DAY':
SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3