MySQL의 정확한 월 차이 계산
MySQL은 두 날짜 사이의 월 수를 계산하는 데 필수적인 함수인 TIMESTAMPDIFF()를 제공합니다. 다양한 월 길이 및 윤년과 관련된 합병증을 제거합니다.
SELECT TIMESTAMPDIFF(MONTH, '2012-03-08', '2012-08-01'); -- Outputs: 4
정밀도 향상
더 높은 정밀도를 위해 더 복잡한 접근 방식을 사용할 수 있습니다.
SELECT TIMESTAMPDIFF(MONTH, startdate, enddate) + DATEDIFF( enddate, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH ) / DATEDIFF( startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) + 1 MONTH, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH )
이 수식은 남은 날짜(월 차이 이후)를 분수로 계산하여 정밀도를 추가합니다. 월.
예
WITH startdate AS '2012-03-08', enddate AS '2012-04-15' SELECT TIMESTAMPDIFF(MONTH, startdate, enddate) + DATEDIFF( enddate, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH ) / DATEDIFF( startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) + 1 MONTH, startdate + INTERVAL TIMESTAMPDIFF(MONTH, startdate, enddate) MONTH ); -- Outputs: 1.2333
이 결과는 두 날짜 사이에 1개월, 약 23.33%의 월 차이가 있음을 나타냅니다.
위 내용은 MySQL에서 정확한 월 차이를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!