"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > TSQL에서 두 날짜 사이의 화요일 수를 계산하는 방법은 무엇입니까?

TSQL에서 두 날짜 사이의 화요일 수를 계산하는 방법은 무엇입니까?

2024년 12월 11일에 게시됨
검색:586

How to Calculate the Number of Tuesdays Between Two Dates in TSQL?

TSQL에서 두 날짜 사이의 화요일 수 계산

두 날짜 사이의 화요일 수를 결정하는 것은 TSQL 프로그래밍에서 일반적인 과제입니다. 한 가지 효율적인 접근 방식은 t-clausen.dk에 설명되어 있습니다.

각 요일의 인스턴스를 계산하려면:

declare @from datetime = '3/1/2013' 
declare @to datetime  = '3/31/2013' 


select 
 datediff(day, -7, @to)/7-datediff(day, -6, @from)/7 AS MON,
 datediff(day, -6, @to)/7-datediff(day, -5, @from)/7 AS TUE,
 datediff(day, -5, @to)/7-datediff(day, -4, @from)/7 AS WED,
 datediff(day, -4, @to)/7-datediff(day, -3, @from)/7 AS THU,
 datediff(day, -3, @to)/7-datediff(day, -2, @from)/7 AS FRI,
 datediff(day, -2, @to)/7-datediff(day, -1, @from)/7 AS SAT,
 datediff(day, -1, @to)/7-datediff(day, 0, @from)/7 AS SUN

이 쿼리는 지정된 날짜 범위 내 각 요일의 발생 횟수를 반환합니다. . 계산은 다음 원칙을 기반으로 합니다.

  • datediff 함수는 두 날짜 간의 차이를 일 단위로 계산합니다.
  • 식 -7은 시작 날짜 전 일요일을 나타냅니다.
  • -6 표현식은 시작 날짜 이전의 월요일을 나타냅니다.
  • 요일을 7개로 그룹화합니다.
  • 시작일부터 시작일 전 월요일까지의 일수를 빼면 시작일과 종료일 사이의 주 수가 계산됩니다.
  • 종료일부터 시작일까지의 일수를 뺍니다. 종료일 전 주의 날은 지난 주의 남은 일수를 계산합니다.

이 방법을 적용하면 한 주 내의 화요일 또는 다른 요일 수를 쉽게 확인할 수 있습니다. 주어진 날짜 범위.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3