Database
[MSSQL]매월 3째주 금요일 구하기(쿼리검증필요/주차관련)
애플자라
2024. 4. 9. 08:50
반응형
WITH nums ( num )
AS
(
SELECT ROW_NUMBER() OVER ( ORDER BY ( SELECT NULL ) ) -1
FROM sys.all_columns
)
, dlist ( aDay )
AS
(
SELECT TOP 500 DATEADD( DAY, num * -1, '2024-05-01' )
FROM nums
)
, dlist2 ( aDay, TGD )
AS
(
SELECT aDay, DATEADD( DAY, ( ( 8 - DATEPART( WEEKDAY, aDay ) ) % 7 ) - 3, aDay ) AS ThuOfGivenDay
FROM dlist
)
SELECT *
, DATEPART( YEAR, TGD ) AS [년]
, DATEPART( MONTH, TGD ) AS [월]
, ( DATEPART( DAY, TGD ) - 1 ) / 7 + 1 AS [주]
, DATEPART(WEEKDAY, aDay ) AS [요일] -- 1: 일요일, 2:월요일, 3:화요일, 4:수요일, 5:목요일, 6:금요일, 7:토요일
FROM dlist2
WHERE ( DATEPART( DAY, TGD ) - 1 ) / 7 + 1 ='3'
AND DATEPART(WEEKDAY, aDay ) ='6'
반응형