본문 바로가기
프로그래밍/Database & SQL

[Oracle | 오라클] 단일행 함수 - 3. 날짜함수

by 불타는홍당무 2015. 8. 13.

※ 이 글은 오지영 강사님의 <업무에 바로 쓰는 SQL 활용실습>의 강의내용을 바탕으로 작성하였습니다.



 

1. 시간 형식 맞추기


alter session set nls_date_format=

'yyyy-mm-dd hh24:mi:ss';



2. 현재 날짜 조회하기


SELECT SYSDATE FROM dual;

 


3. 날짜+ 정수값  날짜 기준으로 정수값만큼의 DAY를 더해줌.


SELECT SYSDATE, sysdate+10 FROM dual;

 


4. 날짜 기준으로 정수값 만큼의 시간//초를 더하거나 빼 준다.


SELECT SYSDATE, sysdate+1/(24*60) FROM dual; --1

SELECT SYSDATE, sysdate+70/(24*60) FROM dual; --70

SELECT SYSDATE, sysdate-1/24/60/60 FROM dual;


 

5. ADD_MONTHS(날짜, 개월수) 날짜 기준으로 정수값 만큼의 개월 수를 더하거나 빼 준다.


SELECT SYSDATE, sysdate+300 FROM dual; --이렇게 하면 제대로 된 월 계산이 되지 않는다(에러).

SELECT SYSDATE, ADD_MONTHS(SYSDATE, 10) FROM dual;


 

6. 날짜 - 날짜 계산 : 두 날짜 사이의 경과일수


SELECT ename, SYSDATE-hiredate FROM emp;


 

7. 두 날짜 사이에 몇 개월이 지났는지 확인


SELECT MONTHS_BETWEEN(SYSDATE, hiredate), ename

FROM emp;


 

8. 현재 날짜의 월의 마지막 날 확인하기


SELECT LAST_DAY(sysdate) FROM dual;