두 개의 날짜 (reportStartDate, reportEndDate)를 사용하는 저장 프로 시저를 만들려고합니다.Sql Server select case dates
아이디어는 "reportStartDate"와 "reportEndDate"사이의 근무일을 포함하여 "startDate", "endDate"및 "term"이 중요한 열이지만 "startDate"및 "endDate" inbetween the "reportStartDate"및 "reportEndDate"그래서 내가 이런 일이 있는지 확인하고 요일을 해결하기 위해 그 날짜를 사용해야합니다 가을 수 있습니다. ("기간"= 1 다음 "endDate가"다른 사용 "reportEndDate"를 사용하는 경우)
이 나는 일 분명히 아무튼 저장 프로 시저에 대한
(DATEDIFF(dd,startDate,endDate) - (2* DATEDIFF(wk,startDate,endDate)))+1 AS BusinessDayCount
Create PROCEDURE testPro(
@reportStartDate date,
@reportEndDate date
)
AS
BEGIN
SELECT emp, surname, startDate, endDate,
CASE WHEN startDate<= @reportStartDate
THEN (DATEDIFF(dd,@reportStartDate, @reportEndDate) - (2* DATEDIFF(wk,@reportStartDate,@reportEndDate)))+1 AS BusinessDayCount
ELSE (DATEDIFF(dd,startDate, @reportEndDate) - (2* DATEDIFF(wk,startDate,@reportEndDate)))+1 AS BusinessDayCount END
FROM Table_1
END
EXEC testPro '2012-01-01', '2012-12-31'
누구든지 올바른 방향으로 나를 도울 수 있습니다. 감사합니다
'분명히 작동하지 않습니다. '왜? 이것에 대해 더 자세히 설명하십시오. – Rahul