집 >데이터 베이스 >MySQL 튜토리얼 >주말을 제외하고 MySQL에서 날짜 사이의 영업일을 계산하는 방법은 무엇입니까?
주말을 제외하고 MySQL에서 날짜 사이의 영업일 계산
주말을 제외하고 두 날짜 사이의 날짜 차이를 확인하기 위해 MySQL의 WEEKDAY를 사용합니다. () 기능. 이 함수는 특정 날짜의 요일, 즉 일요일로 시작하는 주의 요일을 결정합니다. 이를 바탕으로 특정 요구 사항을 수용하는 사용자 정의 함수를 고안할 수 있습니다.
TOTAL_WEEKDAYS() 함수 만들기:
TOTAL_WEEKDAYS()라는 함수를 설정합니다. 두 개의 DATE 매개변수(date1 및 date2)를 허용합니다. 이 기능은 주말과 특별한 경우를 고려하여 평일 간의 차이를 꼼꼼하게 계산합니다.
CREATE FUNCTION TOTAL_WEEKDAYS(date1 DATE, date2 DATE) RETURNS INT RETURN ABS(DATEDIFF(date2, date1)) + 1 -- Total days - ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY), -- Weekdays between ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2 - (DAYOFWEEK(IF(date1 < date2, date1, date2)) = 1) -- Account for edge case - (DAYOFWEEK(IF(date1 > date2, date1, date2)) = 7); -- Account for edge case
사용 및 테스트:
이 기능을 활용하기 위해 두 가지를 제공합니다. 영업일 차이를 확인하려는 DATE 변수 date1 및 date2. 출력에서는 주말을 제외합니다.
SELECT TOTAL_WEEKDAYS('2013-08-03', '2013-08-21') AS weekdays1, TOTAL_WEEKDAYS('2013-08-21', '2013-08-03') AS weekdays2;
결과:
| WEEKDAYS1 | WEEKDAYS2 | ------------------------- | 13 | 13 |
이 예에서는 시작 날짜가 '2013-08-03'이고 '2013-08-21' 종료일은 영업일 기준 13일입니다. 이 함수는 계산 시 주말을 정확하게 제외합니다.
위 내용은 주말을 제외하고 MySQL에서 날짜 사이의 영업일을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!