< 날짜 처리 함수 >
- SYSDATE : 현재 시스템 날짜 및 시간 반환
* MONTHS_BETWEEN(DATE1, DATE2)
두날짜 사이 개월 수 => 내부적으로 DATE1 - DATE2후 나누기 30,31이 진행됨
-- -> 결과값은 NUMBER타입
예시) 근무 개월수 구하기
SELECT EMP_NAME,HIRE_DATE, CEIL(MONTHS_BETWEEN(SYSDATE, HIRE_DATE))||'개월차' "근무개월수"
FROM EMPLOYEE;
* ADD_MONTHS(DATE,NUMBER)
특정 날짜에 해당 숫자만큼의 개월수를 더해서 그 날짜를 리턴
=> 결과값은 DATE타입
SELECT ADD_MONTHS(SYSDATE,3) FROM DUAL; -- 23-02-15
* NEXT_ DAY(DATE,요일(문자|숫자))
특정 날짜 이후에 가까운 해당 요일의 날짜를 반환해주는 함수
=> 결과값은 DATE타입
SELECT SYSDATE, NEXT_DAY(SYSDATE,'토') FROM DUAL;
-- 1.일요일 2:월요일 3: 화요일 ,....6:금요일 7:토요일
SELECT SYSDATE, NEXT_DAY(SYSDATE,7) FROM DUAL;
* LAST_DAY (DATE)
해당 월의 마지막 날짜를 구해서 반환
=> 결과값 DATE타입
SELECT EMP_NAME, HIRE_DATE,LAST_DAY(HIRE_DATE),LAST_DAY(HIRE_DATE)-HIRE_DATE
FROM EMPLOYEE;
* EXTRACT
특정 날짜로 부터 년도/월/일 만 추출해서 반환하는 함수
EXTRACT(YEAR|MONTH|DAY FROM DATE) => 결과값은 NUMBER타입
SELECT EMP_NAME,
EXTRACT(YEAR FROM HIRE_DATE)"입사년도",
LPAD(EXTRACT(MONTH FROM HIRE_DATE), 2, '0') "입사월",
LPAD(EXTRACT(DAY FROM HIRE_DATE),2, '0')"입사일"
FROM EMPLOYEE;
'ORACLE' 카테고리의 다른 글
ORACLE 02. SELECT(함수) _ 단일행 함수_ NULL 처리함수/ 선택함수 (0) | 2022.11.16 |
---|---|
ORACLE 02. SELECT(함수) _ 단일행 함수_ 형변환 함수 (0) | 2022.11.16 |
ORACLE 02. SELECT(함수) _ 단일행 함수_숫자처리함수 (0) | 2022.11.15 |
ORACLE 02. SELECT(함수) _ 단일행 함수_문자처리함수 (0) | 2022.11.15 |
ORACLE_01. SELECT문(기본문법 2) (0) | 2022.11.15 |