MS-SQL 달력쿼리
페이지 정보
본문
인터넷에 보면 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)
- 이전글centos 클론시 ip 주소 맥어드레스 변경처리. 20.02.21
- 다음글mysql 가로행과 세로열 값을 모두 구분자로 묶기 20.02.21
댓글목록
등록된 댓글이 없습니다.