> 데이터 베이스 > MySQL 튜토리얼 > 함수나 프로시저를 사용하지 않고 Oracle SQL에서 두 날짜 사이의 영업일을 정확하게 계산하는 방법은 무엇입니까?

함수나 프로시저를 사용하지 않고 Oracle SQL에서 두 날짜 사이의 영업일을 정확하게 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-04 03:53:39
원래의
269명이 탐색했습니다.

How to Accurately Calculate Business Days Between Two Dates in Oracle SQL Without Using Functions or Procedures?

Oracle SQL에서 영업일 계산(함수 또는 프로시저 없이)

다음 공식을 사용하여 Oracle SQL에서 두 날짜 사이의 영업일을 계산하는 동안:

((to_char(CompleteDate,'J') - to_char(InstallDate,'J')) 1) - (((to_char(CompleteDate,'WW') (52 ((to_char(CompleteDate,'YYYY') - to_char(InstallDate,'YYYY')))) ) - to_char(InstallDate,'WW'))2)

결과가 나올 수 있음 대부분 정확한 결과이지만 때로는 2일 이하로 차이가 나는 경우도 있습니다. 이러한 불일치는 다음 요소를 무시하는 데서 발생합니다.

  • 공식에서는 모든 달이 30일이라고 가정하지만 이는 사실이 아닙니다.
  • 주말(토요일 및 일요일)은 제외됩니다.

이러한 문제를 해결하려면 더 정확한 공식이 필요합니다. is:

(TRUNC(CompleteDate) - TRUNC(InstallDate) ) 1 -
((((TRUNC(CompleteDate,'D'))-(TRUNC(InstallDate,'D')))/ 7)*2) -
(경우 TO_CHAR(InstallDate,'DY','nls_date_언어=english')='SUN' THEN 1 ELSE 0 END) -
(CASE WHEN TO_CHAR(CompleteDate,'DY','nls_date_언어=english')='SAT' THEN 1 ELSE 0 END)

여기서 TRUNC()는 날짜에서 시간 구성 요소를 사용하고 TO_CHAR()는 요일을 추출합니다. 이제 계산에서는 잘린 날짜 사이의 일수를 통합하고 주말을 빼고 주말 시작일 또는 종료일을 조정합니다.

이러한 개선 사항을 통합함으로써 공식은 Excel의 NETWORKDAYS 함수에 맞춰 영업일을 정확하게 계산합니다. .

위 내용은 함수나 프로시저를 사용하지 않고 Oracle SQL에서 두 날짜 사이의 영업일을 정확하게 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿