문제

a에서 값을 어떻게 제외합니까? 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)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top