TRUNC 에서 주에 대한 format을 줄 때 주의 할 점이 있습니다. 각 format의 의미를 정확히 알고 써야 합니다.
'w' : 매월1일 요일을 기준한 주초일자.
'ww' : 매년 1월1일 요일을 기준한 주초일자.
'iw' : 주초 월요일일자.
'd' / 'dy' / 'day' : 주초 일요일 일자.
그러므로 연도나 월이 시작되는 요일에 무관하게 전주 토요일을 구하려면 'iw'나 'dy'등을 이용하는게 보다 적합합니다.
각 결과를 확인하시고 쓰세요.
SELECT
SYSDATE - 7 AS "7일전"
, TRUNC(SYSDATE, 'w') AS 주초1
, TRUNC(SYSDATE, 'ww') AS 주초2
, TRUNC(SYSDATE, 'iw') AS 주초3
, TRUNC(SYSDATE, 'dy') AS 주초4
, TRUNC(SYSDATE, 'iw') - 2 AS 항상_전주토요일1
, TRUNC(SYSDATE, 'dy') - 1 AS 항상_전주토요일2
FROM dual
'Programming > DataBase' 카테고리의 다른 글
[ORACLE]테이블과 데이터 복사하기 create table as (0) | 2016.11.18 |
---|---|
[TOAD] Lock 세션 종료 (0) | 2016.04.08 |
[Oracle] 해당 월의 전체 날짜 구하기 (0) | 2016.03.28 |
[oracle] merge into (1) | 2015.12.17 |
[oracle] WM_CONCAT 함수 사용하기 (1) | 2015.11.27 |