복붙노트

[SQL] 어떻게 SQL에서 두 날짜 사이에 "화요일"의 수를 계산하는?

SQL

어떻게 SQL에서 두 날짜 사이에 "화요일"의 수를 계산하는?

나는 TSQL에서 두 날짜 사이에 "화요일"의 수를 계산하는 방법을 알아 내려고 노력하고있어?

"화요일"모든 값이 될 수 있습니다.

해결법

  1. ==============================

    1.저장 날 몇 일, 당신이 t-clausen.dk 감사드립니다. 매일의 인스턴스의 어떤을 얻을하려면 :

    저장 날 몇 일, 당신이 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
    
  2. ==============================

    2.

    declare @from datetime= '9/20/2011' 
    declare @to datetime  = '9/28/2011' 
    
    select datediff(day, -6, @to)/7-datediff(day, -5, @from)/7
    
  3. ==============================

    3.@ t-clausen.dk & 안드리 M t-clausen.dks 응답과 의견에 대한 응답으로

    @ t-clausen.dk & 안드리 M t-clausen.dks 응답과 의견에 대한 응답으로

    쿼리 1900-01-01이 월요일 있다는 사실을 사용합니다. 그리고 1900-01-01 날짜 0입니다.

    DATEADD 선택 (일, 0, 0)

    DATEDIFF 함수로 두 번째 파라미터는 STARTDATE이다.

    당신이 - 날짜 @와 '1899년 12월 26일'와 '1899년 12월 26일'을 비교하고 그래서 화요일

    (DW, DATEADD (일 0 -6)) DATENAME을 선택 DATENAME (DW를 '1899년 12월 26일')

    같은 사실을 사용하는 두 번째 날짜에 대해 똑같은.

    사실 당신은 알려진 화요일 및 해당 수요일 (조사중인 간격 날짜에 그 밤은) 하나와 비교할 수 있습니다.

    declare @from datetime= '2011-09-19' 
    declare @to datetime  = '2011-10-15' 
    
    select  datediff(day, '2011-09-13', @to)/7-datediff(day, '2011-09-14', @from)/7 as [works]
            ,datediff(day, '2011-10-18', @to)/7-datediff(day, '2011-10-19', @from)/7 as [works too]
            ,datediff(day, '2011-09-27', @to)/7-datediff(day, '2011-09-28', @from)/7 as [dont work]
    

    기본적으로 알고리즘은 "모든 화요일을 뺀 모든 수요일을"입니다.

  4. ==============================

    4.이 질문에 체크 아웃 : 두 날짜 사이에 작업 일 카운트

    이 질문에 체크 아웃 : 두 날짜 사이에 작업 일 카운트

    당신은뿐만 아니라 당신을 위해 그 질문에 대한 답을 활용할 수있는 몇 가지 방법이 있습니다.

  5. from https://stackoverflow.com/questions/7563069/how-to-calculate-the-number-of-tuesdays-between-two-dates-in-tsql by cc-by-sa and MIT license