반응형
SQL Server 쿼리에서 주말을 제외하려면 어떻게합니까?
DateTime
토요일 또는 일요일 열 에서 값을 제외하려면 어떻게합니까 ?
예를 들어 다음과 같은 데이터가 있습니다.
date_created
'2009-11-26 09:00:00' -- Thursday
'2009-11-27 09:00:00' -- Friday
'2009-11-28 09:00:00' -- Saturday
'2009-11-29 09:00:00' -- Sunday
'2009-11-30 09:00:00' -- Monday
이것이 내가 찾고있는 결과입니다.
date_created
'2009-11-26 09:00:00' -- Thursday
'2009-11-27 09:00:00' -- Friday
'2009-11-30 09:00:00' -- Monday
감사!
요일 계산을 처리 할 때 현재 DATEFIRST
설정 을 고려하는 것이 중요합니다 . 이 쿼리는 @@DATEFIRST
주의 첫날에 대해 가능한 모든 설정을 고려 하여 주말을 항상 올바르게 제외 합니다.
SELECT *
FROM your_table
WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) NOT IN (0, 1)
SELECT date_created
FROM your_table
WHERE DATENAME(dw, date_created) NOT IN ('Saturday', 'Sunday')
SQL Server를 사용한다고 가정하고 dw와 함께 DATEPART를 사용합니다.
SELECT date_created
FROM your_table
WHERE DATEPART(dw, date_created) NOT IN (1, 7);
편집 : DATEPART (dw)에 의해 반환 된 실제 숫자 값이 SET DATEFIRST를 사용하여 설정된 값에 의해 결정된다는 점을 지적해야합니다.
http://msdn.microsoft.com/en-us/library/ms181598.aspx
DATENAME()
기능을 시도하십시오 .
select [date_created]
from table
where DATENAME(WEEKDAY, [date_created]) <> 'Saturday'
and DATENAME(WEEKDAY, [date_created]) <> 'Sunday'
대답은 서버의 주간 시작 설정에 따라 다르므로
SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (7,1)
일요일이 서버의 첫 번째 요일 인 경우
또는
SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (6,7)
월요일이 서버의 첫 번째 요일 인 경우
질문이 있으시면 댓글을 남겨주세요 :-)
기본값으로 테이블 열의 휴가 근무일 계산-업데이트 됨
SQL을 사용하는 경우 여기에 도움이 될 수있는 쿼리가 있습니다. http : //gallery.technet.microsoft.com/Calculate ...
이 코드 시도
select (DATEDIFF(DD,'2014-08-01','2014-08-14')+1)- (DATEDIFF(WK,'2014-08-01','2014-08-14')* 2)
참고 URL : https://stackoverflow.com/questions/1803987/how-do-i-exclude-weekend-days-in-a-sql-server-query
반응형
'programing' 카테고리의 다른 글
여러 열을 한 번에 요인으로 강제 변환 (0) | 2020.12.14 |
---|---|
CSS : 완전히 새로운 행을 수행하도록 float 강제 (0) | 2020.12.14 |
데이터 프레임에서 문자 값을 NA로 바꾸기 (0) | 2020.12.14 |
jquery : event.stopImmediatePropagation () 대 반환 false (0) | 2020.12.14 |
Android에서 URL의 이미지를 표시하는 방법 (0) | 2020.12.14 |