728x90
SYSDATE
현재 시스템 날짜 반환
MONTHS BETWEEN(DATE1, DATE2)
두 날짜 사이의 개월수 반환
ADD_MONTHS(DATE,NUM)
특정 날짜에 해당 숫자만큼의 개월수를 더한 날짜를 반환
SELECT ADD_MONTHS(SYSDATE, 5)
FROM DUAL;
-- 전체 사원들의 직원명, 입사일, 입사 후 6개월이 흘렀을 때의 날짜 조회
SELECT EMP_NAME, HIRE_DATE, ADD_MONTHS(HIRE_DATE, 6)
FROM EMPLOYEE;
728x90
NEXT_DAY
특정날짜에서 가장 가까운 해당 요일을 찾아서 날짜를 반환
SELECT NEXT_DAY(SYSDATE,'토요일')
FROM DUAL;
SELECT NEXT_DAY(SYSDATE,'토')
FROM DUAL;
-- 1:일요일, 2:월요일, 3:화요일, ..., 6:금요일, 7:토요일
SELECT NEXT_DAY(SYSDATE, 7)
FROM DUAL;
SELECT NEXT_DAY(SYSDATE, 'SUNDAY')
FROM DUAL;
-- 에러발생! => 현재 언어가 KOREAN이기 때문에
-- 언어변경 후
ALTER SESSION SET NLS_LANGUAGE = AMERICAN;
SELECT NEXT_DAY(SYSDATE, 'SUNDAY')
FROM DUAL;
LAST_DAY
해당 특정 날짜 달의 마지막 날짜를 구해서 반환
EXTRACT
년도, 월, 일, 정보를 추출해서 반환
- EXTRACT(YEAR FROM DATE) : 특정날짜로부터 년도만 추출
- EXTRACT(MONTH FROM DATE) : 특정날짜로부터 월만 추출
- EXTRACT(DAY FROM DATE) : 특정날짜로부터 일만 추출
-- 사원명, 입사년도, 입사월, 입사일 조회
SELECT EMP_NAME
, EXTRACT(YEAR FROM HIRE_DATE) "입사년도"
, EXTRACT(MONTH FROM HIRE_DATE) "입사월"
, EXTRACT(DAY FROM HIRE_DATE) "입사일"
FROM EMPLOYEE
ORDER BY "입사년도","입사월";
-- 실행순서: FROM > SELECT > EXTRACT > ORDER BY
728x90