MySQL 날짜를 사용하여 연도 차이 계산
두 날짜 간의 연도 차이를 확인하는 것은 MySQL의 일반적인 작업입니다. 이 문서에서는 윤년을 고려한 효율적인 단일 식 솔루션을 제공합니다.
문제 설명:
'YYYY-MM-DD' 형식의 두 날짜가 주어지면 연도 차이를 계산해야 합니다. 예:
해결책:
<code class="language-sql">YEAR(date1) - YEAR(date2) - (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d'))</code>
지침:
YEAR(date1) - YEAR(date2)
연차를 계산해 보세요. DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d')
두 날짜의 월과 일 부분을 비교합니다. 표현식은 date1
의 날짜가 date2
의 날짜보다 작으면 참(1)으로 평가되고 그렇지 않으면 거짓(0)으로 평가됩니다. 예:
다음 쿼리는 특정 테스트 사례의 연도 차이를 계산합니다.
<code class="language-sql">SELECT date1, date2, YEAR(date1) - YEAR(date2) - (DATE_FORMAT(date1, '%m%d') < DATE_FORMAT(date2, '%m%d')) AS diff_years FROM ( SELECT '2011-07-20' AS date1, '2011-07-18' AS date2 UNION ALL SELECT '2011-07-20', '2010-07-20' UNION ALL SELECT '2011-06-15', '2008-04-11' UNION ALL SELECT '2011-06-11', '2001-10-11' UNION ALL SELECT '2007-07-20', '2004-07-20' ) AS dates;</code>
출력:
<code>+------------+------------+------------+ | date1 | date2 | diff_years | +------------+------------+------------+ | 2011-07-20 | 2011-07-18 | 0 | | 2011-07-20 | 2010-07-20 | 1 | | 2011-06-15 | 2008-04-11 | 3 | | 2011-06-11 | 2001-10-11 | 9 | | 2007-07-20 | 2004-07-20 | 3 | +------------+------------+------------+</code>
위 내용은 MySQL을 사용하여 두 날짜 사이의 연도 차이를 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!