http://blog.naver.com/ejjungeo/50185166630
to_char(sysdate,'iw'), 1년에서의 주차(최대 53주차),
to_char(sysdate,'ww'), 1년에서의 주차(최대 53주차)
to_char(sysdate,'w') 이달에서의 주차(최대 5주차)
오늘이 포함된 주차의 첫 날과 끝 날
to_char() 함수에서 옵션이 'd' 가 붙으면, 일요일이 1, 월요일이 2, ...
아래 내용은 주차의 첫 날이 월요일이라고 할 때 그렇구요..
select to_char(sysdate-decode(to_char(sysdate,'d'), 1,6, 2,0, 3,1, 4,2, 5,3, 6,4, 7,5),'yyyymmdd') f,
to_char(sysdate+decode(to_char(sysdate,'d'), 1,0, 2,6, 3,5, 4,4, 5,3, 6,2, 7,1),'yyyymmdd') t,
to_char(sysdate -to_char(sysdate,'d') +2 -decode(to_char(sysdate,'d'),1,7,0),'yyyymmdd') f1,
to_char(sysdate -to_char(sysdate,'d') +8 -decode(to_char(sysdate,'d'),1,7,0),'yyyymmdd') t1,
to_char(sysdate +decode(to_char(sysdate,'d'),1,-6,2-to_char(sysdate,'d')), 'yyyymmdd') f2,
to_char(sysdate +decode(to_char(sysdate,'d'),1,0,8-to_char(sysdate,'d')), 'yyyymmdd') t2,
to_char(sysdate -decode(to_char(sysdate,'d'),1,6,to_char(sysdate,'d')-2), 'yyyymmdd') f3,
to_char(sysdate -decode(to_char(sysdate,'d'),1,0,to_char(sysdate,'d')-8), 'yyyymmdd') t3 -- 간단한거 없낭..?
from dual
주차의 시작이 일요일이고 마지막이 토요일이면 아래와 같죠.
옵션이 'd' 일 때 1 이 일요일이니까
select to_char(sysdate-decode(to_char(sysdate,'d'), 1,0, 2,1, 3,2, 4,3, 5,4, 6,5, 7,6),'yyyymmdd') f,
to_char(sysdate+decode(to_char(sysdate,'d'), 1,6, 2,5, 3,4, 4,3, 5,2, 6,1, 7,0),'yyyymmdd') t,
to_char(sysdate-to_char(sysdate,'d') +1,'yyyymmdd') f2,
to_char(sysdate-to_char(sysdate,'d') +7,'yyyymmdd') t2
from dual
;
'Server Oriented > DB-Oracle' 카테고리의 다른 글
하둡 Hadoop (0) | 2017.01.31 |
---|---|
몽고디비, mongo DB (0) | 2017.01.31 |
밤 12시 정각은 어제 또는 오늘..? DB 나 웹서버 시스템에게 24:00:00 또는 00:00:00 이란..? (1) | 2015.09.24 |
통계 R (0) | 2015.09.09 |
오라클 like 검색시 * 나 _ 를 사용하는 경우 escape 키워드 사용 (1) | 2015.08.06 |