1. 날짜 더하기 빼기
오라클은 SQLServer의 dateAdd 함수가 없다. 대신 + / – 연산자를 이용해 일자를 더하고 뺀다.
select to_date('2009-10-10') - 60 from dual
---------------------------
2009. 8. 11 오전 12:00:00
또는 add_months(date, n) 함수를 이용해 달을 더하거나 뺀다.
select add_months('2009-10-10', -1) from dual
------------------------------
2009. 9. 10 오전 12:00:00
시간은 ‘날짜 + 숫자/24’ 와 같은 방식으로 더하고 뺀다.
select to_date('2010-03-01') + 1/24 from dual
-----------------------------
2010. 3. 1 오전 1:00:00
2. 날짜간 차이 구하기
오라클은 SQLServer의 dateDiff 함수도 없다. 대신 + / – 연산자를 이용해 일수의 차를 구할 수 있다.
select to_date('2010-03-02') - to_date('2010-03-01') from dual
----------------------------------------------
1
달수 차는 months_between(date, date) 함수를 통해 구한다.
select months_between('2010-03-02', '2009-10-01') from dual
--------------------------------------------
5.03225806451612903225806451612903225806
정수부분이 달 수의 차이. 비정수부분은 달수 계산하고 남은 나머지 부분이다.
3. 기타
LAST_DAY('2010-02-01')
-------------------------
2010. 2. 28 오전 12:00:00ROUND(TO_DATE('2010-02-0111:32:40','YYYY-MM-DDHH24:MI:SS'),'DAY')
--------------------------------------------------------------------
2010. 1. 31 오전 12:00:00ROUND(TO_DATE('2010-02-0111:32:40','YYYY-MM-DDHH24:MI:SS'),'Q')
------------------------------------------------------------------
2010. 1. 1 오전 12:00:00TRUNC(SYSDATE,'MI')
-----------------------
2010. 3. 18 오후 12:38:00
'IT > 오라클' 카테고리의 다른 글
시간을 시간답게 다뤄주세요 - 시간차 계산시 주의점 (0) | 2013.08.01 |
---|---|
오라클에서 길이가 없는 문자열은 null 이다. (0) | 2011.07.01 |
데이터베이스 변경(버전) 관리 (0) | 2010.05.07 |
랜덤 값 입력하기 (0) | 2010.05.04 |