programing

SQL Server 쿼리에서 주말을 제외하려면 어떻게 해야 합니까?

megabox 2023. 6. 23. 21:52
반응형

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

감사합니다!

요일 계산을 처리할 때는 현재 설정을 고려하는 것이 중요합니다.이 쿼리는 주의 첫 번째 날에 가능한 설정을 설명하는 데 사용되는 주말 날짜를 항상 올바르게 제외합니다.

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를 사용한다고 가정하면 DATEPART를 dw:

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

반응형