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

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

Mary-Kate Olsen
풀어 주다: 2024-12-31 08:26:10
원래의
781명이 탐색했습니다.

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

Oracle SQL에서 영업일 계산: 함수나 프로시저가 없는 향상된 수식

Oracle SQL에서 두 날짜 사이의 영업일을 계산하는 것은 다양한 비즈니스 애플리케이션. 내장된 함수나 프로시저에 의존하지 않고 이를 수행하기 위한 향상된 접근 방식이 있습니다.

귀하가 제공한 이전 코드는 계산에서 가끔 불일치에 직면했습니다. 이 문제를 해결하려면 다음 수정 사항을 고려하세요.

  • TRUNC(CompleteDate) 및 TRUNC(InstallDate)를 사용하여 날짜를 잘라내어 시간 구성 요소를 제거하고 영업일에만 집중합니다.
  • 계산합니다. (TRUNC(CompleteDate,'D'))-(TRUNC(InstallDate,'D')) 및 주말을 계산하려면 7로 나눕니다.
  • 영업일로 간주되지 않으므로 일요일 또는 토요일이 기간의 시작 또는 끝이 되도록 조정하는 조건부 논리를 적용합니다.

다음은 다음과 같습니다. 세련된 코드:

SELECT OrderNumber, InstallDate, CompleteDate,
  (TRUNC(CompleteDate) - TRUNC(InstallDate) ) +1 - 
  ((((TRUNC(CompleteDate,'D'))-(TRUNC(InstallDate,'D')))/7)*2) -
  (CASE WHEN TO_CHAR(InstallDate,'DY','nls_date_language=english')='SUN' THEN 1 ELSE 0 END) -
  (CASE WHEN TO_CHAR(CompleteDate,'DY','nls_date_language=english')='SAT' THEN 1 ELSE 0 END) as BusinessDays
FROM Orders
ORDER BY OrderNumber;
로그인 후 복사

이 향상된 계산은 Excel의 NETWORKDAYS에 맞춰 정확한 영업일 결과를 제공해야 합니다. 기능입니다.

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

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