> 데이터 베이스 > MySQL 튜토리얼 > T-SQL을 사용하여 두 날짜 사이의 근무일을 계산하는 방법은 무엇입니까?

T-SQL을 사용하여 두 날짜 사이의 근무일을 계산하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-21 23:27:11
원래의
663명이 탐색했습니다.

How to Calculate Work Days Between Two Dates Using T-SQL?

T-SQL에서 효율적인 근무일 계산

두 날짜 사이의 영업일 수를 결정하는 것은 SQL Server의 일반적인 요구 사항입니다. 이는 프로젝트 일정 관리, 직원 휴가 계산 및 기타 비즈니스 애플리케이션에 매우 중요합니다. 이 가이드는 강력한 T-SQL 접근 방식을 보여줍니다.

근무일 계산을 위한 T-SQL 솔루션

다음 단계에서는 Transact-SQL(T-SQL)을 사용하여 SQL Server에서 근무일을 계산하는 방법을 간략하게 설명합니다.

  1. 변수 선언: 시작 날짜와 종료 날짜를 보유하는 변수를 선언하여 시작합니다.
  2. 날짜 지정: 이 변수에 시작 날짜와 종료 날짜를 지정하세요.
  3. 근무일 수 계산: 핵심 계산에서는 다음 공식을 사용합니다.

(DATEDIFF(dd, @StartDate, @EndDate) 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2)

이 수식은 총 일수를 계산하고 주말 일수(주당 2일)를 뺀 후 시작 날짜 또는 종료 날짜가 주말인 시나리오를 고려합니다.

예시

실제 예를 들어 설명하겠습니다.

<code class="language-sql">DECLARE @StartDate DATETIME;
DECLARE @EndDate DATETIME;
SET @StartDate = '2023-03-06';
SET @EndDate = '2023-03-20';

SELECT
    (DATEDIFF(dd, @StartDate, @EndDate) + 1)
    - (DATEDIFF(wk, @StartDate, @EndDate) * 2)
    - (CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END)
    - (CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END);</code>
로그인 후 복사

휴일 처리

더 정확한 결과를 얻으려면 계산에 공휴일을 포함하세요.

  1. 공휴일 테이블 생성: 해당 연도의 공휴일 날짜를 저장하는 테이블을 만듭니다.
  2. 쿼리 개선: 휴일 테이블과 조인하여 근무일 계산에서 휴일 날짜를 제외하도록 쿼리를 수정합니다. 이를 위해서는 향상된 가독성과 유지 관리를 위해 잠재적으로 CTE(공통 테이블 표현식)를 사용하는 보다 정교한 쿼리가 필요합니다.

위 내용은 T-SQL을 사용하여 두 날짜 사이의 근무일을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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