1. 현재 시간
SELECT SYSDATE FROM DUAL; // 24/06/15
SELECT CURRENT_DATE FORM DUAL; // 24/06/15
SELECT SYSTIMESTAMP FROM DUAL; // 24/06/15 00:00:00.000000000 + 09:00
SELECT CURRENT_TIMESTAMP FROM DUAL; // 24/06/15 00:00:00.000000000 + 09:00
2. 날짜 형식 변경
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
ALTER SESSION SET TIME_ZONE = '09:00'; // 한국 시간
* 참고로 SYSDATE는 오라클 시스템 날짜이고, CURRENT_DATE는 TIME_ZONE에 맞는 시간이 나오게 됩니다.
3. EXTRACT - 날짜 추출 함수
SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL;
4. ADD_MONTHS - 날짜 누적
SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL; // 1개월 추가
SELECT ADD_MONTHS(SYSDATE, -1) FROM DUAL; // 1개월 감소
5. MONTHS_BETWEEN - 날짜의 차이
SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('2016-12-22')) FROM DUAL;
* 참고로 개월 차이 소수점으로 나옵니다.
6. NEXT_DAY - 다음 요일
SELECT NEXT_DAY(SYSDATE, '토') FROM DUAL; // 오늘 날짜에서 토요일 날짜 구해줌
* 참고로 토요일이라고 써도 됩니다. 7도 가능합니다. (오라클은 일요일이 1)
7. LAST_DAY - 이번달 마지막 일
SELECT LAST_DAY(SYSDATE) FROM DUAL; // 현재 월의 마지막 날짜
'SQL' 카테고리의 다른 글
[Oracle] 트리거 (1) | 2024.06.16 |
---|---|
[Oracle] 프로시저 (0) | 2024.06.16 |
[Oracle] 숫자 내장 함수 (0) | 2024.06.15 |
[Oracle] 문자열 내장 함수 (0) | 2024.06.15 |
[Oracle] 기초 (MySQL과의 소소한 차이) (0) | 2024.06.08 |