반응형
오라클에서 통계를 추출할 때 많이 사용하는 날짜 형식에 대해서 알려 드리겠습니다.
연월일 날짜 형식(구분자 사용)
SELECT TO_CHAR(SYSDATE,'YYYYMMDD') AS NOW_CHAR
, TO_CHAR(SYSDATE,'YYYY/MM/DD') AS NOW_CHAR1
, TO_CHAR(SYSDATE,'YYYY-MM-DD') AS NOW_CHAR2
, TO_CHAR(SYSDATE,'DD/MM/YYYY') AS NOW_CHAR3
, TO_CHAR(SYSDATE,'YYYY,MM,DD') AS NOW_CHAR4
, TO_CHAR(SYSDATE,'YYYY.MM.DD') AS NOW_CHAR5
, TO_CHAR(SYSDATE,'YYYY;MM;DD') AS NOW_CHAR6
, TO_CHAR(SYSDATE,'YYYY"년"MM"월"DD"일"') AS NOW_CHAR7
, TO_CHAR(SYSDATE,'DL') AS NOW_FULL
FROM DUAL
포맷 | 설명 | 비고 |
YYYY"년"MM"월"DD"일" | 한글 형식으로 표현 시 사용 | 한글은 큰 따옴표( " ) 로 선언 |
DL | 날짜 형식 값 반환 | NLS_DATE_FORMAT 에 따라 값 반환 |
- 구분자는 . , ; / - 사용 가능
- 년/월/일 뿐만 아니라 일/월/년 형태로도 변환 가능합니다.
년 월 일 분리, 날짜 형식 (응용)
SELECT SYSDATE
, TO_CHAR(SYSDATE,'YYYY') AS YEAR
, TO_CHAR(SYSDATE,'YY') AS YEAR2
, TO_CHAR(SYSDATE,'Y') AS YEAR1
, TO_CHAR(SYSDATE,'MM') AS MONTH
, TO_CHAR(SYSDATE,'DD') AS DAY
, TO_CHAR(SYSDATE,'D') AS YOIL
, TO_CHAR(SYSDATE,'DDD') AS YEAR_DAY
, TO_CHAR(SYSDATE,'RR') AS RR
, TO_CHAR(SYSDATE,'Q') AS QUARTER
FROM DUAL
포맷 | 설명 | 비고 |
YYYY YY Y |
년 4, 2, 1 자리 | 년 뒷자리 개수만큼 반환 |
RR | 년 2자리 | YY와 동일 |
Q | (1~4)분기 | 1: 1~3월, 2: 4~6월, 3: 7~9월, 4: 10~12월 |
D | 요일(1~7) (세션의 NLS 지역에 따라 상이) | 1: 일요일, 7: 토요일 |
DD | 일(1~31) | |
DDD | 1년 일 수(1~366) |
시분초 시간 형식 (구분자 사용)
SELECT SYSDATE
, TO_CHAR(SYSDATE,'HH') AS HOUR
, TO_CHAR(SYSDATE,'HH24') AS HOUR24
, TO_CHAR(SYSDATE,'MI') AS MINUTE
, TO_CHAR(SYSDATE,'SS') AS SECOND
, TO_CHAR(SYSDATE,'SSSSS') AS TOTAL_SECOND
, TO_CHAR(SYSDATE,'HHMISS') AS TIME
, TO_CHAR(SYSDATE,'HH24MISS') AS TIME_24
, TO_CHAR(SYSDATE,'HH24:MI:SS') AS TIME_1
, TO_CHAR(SYSDATE,'AM') AS AMPM
FROM DUAL
포맷 | 설명 | 비고 |
HH HH12 |
12시간 형식으로 시간 표시 | HH 뒤에 숫자 안 붙이면 HH12로 인식 |
HH24 | 24시간 형식으로 표시 | |
MI | 분 | |
SS | 초 | |
SSSSS | 자정부터 지금까지 시간을 초로 계산 | |
AM | 오전, 오후 (AM, PM) |
연월일 시분초 형식
SELECT TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') AS FULL24
, TO_CHAR(SYSDATE,'YYYYMMDDHHMISS') AS FULL12
, TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS TIME24
, TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MI:SS') AS TIME12
FROM DUAL
※ 예시를 작성할 때 오전이어서 임시로 12시간을 더해서 표시했습니다.
요일, 주, 월, 주 형식
SELECT TO_CHAR(SYSDATE,'DY') AS YOIL1
, TO_CHAR(SYSDATE,'DAY') AS YOIL2
, TO_CHAR(SYSDATE,'MON') AS MON
, TO_CHAR(SYSDATE,'MONTH') AS MONTH
, TO_CHAR(SYSDATE,'WW') AS WW
, TO_CHAR(SYSDATE,'W') AS W
FROM DUAL
포맷 | 설명 | 비고 |
DY | 요일 한글자 (월, ..., 일) | |
DAY | 요일 전체 (월요일, ..., 일요일) | |
MON | 월 요약 | 한글 차이 없음 |
MONTH | 월 전체 | 한글 차이 없음 |
WW | 주 수 (연 초 부터) | 올해의 몇번째 주 |
W | 주 수 (월 초 부터) | 이번 달의 몇번째 주 |
반응형
'DataBase > Oracle' 카테고리의 다른 글
[Oracle] 오라클 날짜 관련 내장 함수 종류 및 사용 방법 (0) | 2025.09.10 |
---|---|
[Oracle] 오라클 상위, 하위 n개 행만 추출하는 방법 (0) | 2025.09.05 |
[Oracle] 오라클 KEEP 사용 방법 (RANK, DENSE_RANK / MAX, MIN, SUM, COUNT) (0) | 2025.09.05 |
[Oracle] 오라클 스케줄러 잡(Scheduler Job) 실행 결과 확인 방법 / 스케줄 동작 로그 및 에러 확인 (0) | 2025.09.03 |
[Oracle] 오라클 LISTAGG 사용 방법 및 예제 (정렬, 중복제거, 컬럼 합치기/이어 붙이기) (1) | 2025.08.15 |