MS-SQL 달력쿼리
페이지 정보
작성자 미친새 작성일 20-02-21 12:34 조회 22,836 댓글 0본문
인터넷에 보면 MS-SQL 달력 만드는 예제를 보면 좌다 테이블 을 만들어서 거기다 넣는 방식이라 구현하기가 힘들더라구요.
나는 그냥 달력만 구현 하고 싶은건데.. 테이블을 만들고 하는 그런거는 복잡하기 떄문에...
오라클 달력쿼리를 참조해서 하니 바로 되긴 하네요...괜찮은듯
SELECT
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 1 THEN AttendDateSet END) SUN,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 2 THEN AttendDateSet END) MON,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 3 THEN AttendDateSet END) TUE,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 4 THEN AttendDateSet END) WED,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 5 THEN AttendDateSet END) THU,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 6 THEN AttendDateSet END) FRI,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 7 THEN AttendDateSet END) SAT
FROM
(
select convert(char(10),dateadd(d,number,'2013-02-01'),120) AS AttendDateSet
from master..spt_values
where type = 'P' and number <= datediff(d,'2013-02-01','2013-02-28')
) DT
GROUP BY DATEPART(WW,DT.AttendDateSet)
나는 그냥 달력만 구현 하고 싶은건데.. 테이블을 만들고 하는 그런거는 복잡하기 떄문에...
오라클 달력쿼리를 참조해서 하니 바로 되긴 하네요...괜찮은듯
SELECT
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 1 THEN AttendDateSet END) SUN,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 2 THEN AttendDateSet END) MON,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 3 THEN AttendDateSet END) TUE,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 4 THEN AttendDateSet END) WED,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 5 THEN AttendDateSet END) THU,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 6 THEN AttendDateSet END) FRI,
MIN(CASE WHEN DATEPART(DW,DT.AttendDateSet) = 7 THEN AttendDateSet END) SAT
FROM
(
select convert(char(10),dateadd(d,number,'2013-02-01'),120) AS AttendDateSet
from master..spt_values
where type = 'P' and number <= datediff(d,'2013-02-01','2013-02-28')
) DT
GROUP BY DATEPART(WW,DT.AttendDateSet)
댓글목록 0
등록된 댓글이 없습니다.