MySQL에서 DATEDIFF(expr1, expr2) 함수를 사용하면 지정된 두 날짜 사이의 일수를 손쉽게 계산할 수 있습니다. 이 함수는 첫 번째 날짜 표현식에서 두 번째 날짜 표현식을 뺀 값, 즉 두 날짜 간의 일수 차이를 정수 형태로 반환합니다.
DATEDIFF 함수 기본 문법
DATEDIFF(date1, date2)
여기서 date1과 date2는 DATE 또는 DATETIME 형식의 값이며, 함수는 date1 − date2의 일수를 결과로 돌려줍니다.
실제 사용 예시
예를 들어, '2017-05-27'과 '2017-05-23' 두 날짜 사이의 영업일 수를 구하고 싶다면 다음과 같은 MySQL 쿼리를 작성하면 됩니다.
mysql> Select DATEDIFF('2017-05-27','2017-05-23') AS 'Total Business Days';
+----------------------+
| Total Business Days |
+----------------------+
| 4 |
+----------------------+
1 row in set (0.00 sec)결과 해석
쿼리 실행 결과를 보면 'Total Business Days'라는 별칭(alias)으로 컬럼 이름이 표시되며, 두 날짜 사이의 일수인 4가 반환됩니다. 즉, 5월 23일부터 5월 27일까지는 4일의 차이가 있는 것입니다.
참고 사항
DATEDIFF 함수는 단순히 달력상의 전체 일수를 계산하므로, 주말이나 공휴일은 자동으로 제외되지 않습니다. 만약 주말을 제외한 순수 영업일 수를 정확하게 산출해야 하는 업무 환경이라면, DATEDIFF와 함께 WEEKDAY() 함수나 임시 달력 테이블 등을 조합하여 추가 로직을 구성하는 것이 좋습니다.