반응형
Oracle 오늘 기준 특정 날짜 가져오기
오늘 기준 이전 3년 YEAR목록 가져오기
SELECT TO_CHAR(TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')) - LEVEL) AS YYYY
FROM DUAL
CONNECT BY LEVEL <= 3
오늘 기준 +5일 DAY목록 가져오기 (오늘 제외)
SELECT
(SYSDATE + LEVEL) AS DT_CAL,
TO_CHAR(SYSDATE + LEVEL, 'YYYYMMDD') AS YYYYMMDD,
TO_CHAR(SYSDATE + LEVEL, 'YYYY-MM-DD') AS DISPLAY_DATE
FROM DUAL
CONNECT BY LEVEL <= 5
오늘 기준 +5일 DAY목록 가져오기 (오늘 포함)
SELECT
(SYSDATE + LEVEL - 1) AS DT_CAL,
TO_CHAR(SYSDATE + LEVEL - 1, 'YYYYMMDD') AS YYYYMMDD,
TO_CHAR(SYSDATE + LEVEL - 1, 'YYYY-MM-DD') AS DISPLAY_DATE
FROM DUAL
CONNECT BY LEVEL <= 6
오늘 기준 WORKING DAY+5일 DAY목록 가져오기 (오늘 제외)
테이블 예시
- TABLE : CALENDAR_TB
- COLUMMN
- YYYYMMDD VARCHAR2(8)
- HOLIDAY_CD VARCHAR2(1) -- W: Woring Day(작업일)
SELECT
TO_DATE(T.YYYYMMDD, 'YYYYMMDD') AS DT_CAL,
T.YYYYMMDD AS YYYYMMDD,
TO_CHAR(TO_DATE(T.YYYYMMDD, 'YYYYMMDD'), 'YYYY-MM-DD') AS DISPLAY_DATE
FROM
(
SELECT
CAL.YYYYMMDD AS YYYYMMDD,
ROW_NUMBER() OVER( ORDER BY CAL.YYYYMMDD ASC ) AS RN
FROM
CALENDAR_TB CAL
WHERE
CAL.HOLIDAY_CD = 'W'
AND CAL.YYYYMMDD BETWEEN TO_CHAR(SYSDATE + 1, 'YYYYMMDD') AND TO_CHAR(SYSDATE + 30, 'YYYYMMDD')
) T
WHERE T.RN <= 5
반응형
'DBMS > Oracle' 카테고리의 다른 글
| Oracle) 오라클 Full 백업 후 스키마별 복원 (0) | 2026.08.04 |
|---|---|
| [Oracle] Data Pump Export(expdp) 실행 시 UDE-28000, ORA-28000(Account is Locked) 해결 방법 (0) | 2026.07.29 |
| [Oracle] Oracle Directory 조회 / 생성 및 권한 부여 (0) | 2026.07.15 |
| [Oracle] Export/Import - Data Pump 실행시 ORA-31634, ORA-31664 오류 (0) | 2026.07.14 |
| [에러/ORA-01000] ORA-01000: 최대 열기 커서 수를 초과했습니다 (0) | 2021.11.16 |