1.sysdate
- 현재 시각 반환(오라클 서버 시간 - 기준 적합)
- date sysdate
date + number(일) = date
date - number(일) = date
date - date = number(일)
ex)
--날짜 연산
--date + 숫자(일)
select sysdate, sysdate +1 as 내일, sysdate -1 as 어제 from dual;
select name,ibsadate+10000 from tblinsa where name = '홍길동';
--도서관(대여기간 : 14일)
select 고객명, 대여일, 대여일+14 as 반납일 from 도서대출;
--시각 - 시각 = 시간(일)
select name, ibsadate, ceil(sysdate - ibsadate) from tblinsa;
select name, ibsadate, ceil((sysdate - ibsadate)/365) from tblinsa;
2. last_day
- 해당 시각이 포함된 달의 마지막 날짜
- date last_day(컬럼명)
select last_day(sysdate) from dual;
3.months_between
- number months_between(date,date)
- 시간 간격 계산(단위 : 월, 년)
- 시간 간격 계산(단위 : 일, 시, 분, 초) -> date -date
ex)
select
name,
ibsadate,
ceil(sysdate-ibsadate) as "근무일수",
ceil((sysdate - ibsadate)/365) as "근무년수", --사용X
ceil(months_between(sysdate,ibsadate)) as "근무개월수",
ceil(months_between(sysdate,ibsadate)/12) as "근무년수"--사용O
from tblinsa;
4. add_months
- date add_months(date,number)
- 월단위 누적 연산
ex)
select sysdate as"오늘", sysdate +1 as "내일(일)",add_months(sysdate,1) as "다음달(월)"
,add_months(sysdate,12) as "내년 오늘날짜"
,add_months(sysdate,-12) as "작년 오늘날짜"
from dual;
**
시각, 시간 연산
1. date + 숫자(일), date - 숫자(일)
2. date - date = 시간차(일)
3. months_between(date,date) = 시간차(월) : 3번
4. add_months(date,숫자(월)) : 1번
'오라클' 카테고리의 다른 글
뷰(View) (0) | 2018.09.03 |
---|---|
오라클(SQL) 함수2(형 변환 함수) (0) | 2018.09.03 |
오라클(SQL) 함수2(문자열 함수) (0) | 2018.09.03 |
오라클(SQL) 함수2(수학 관련 함수) (0) | 2018.08.31 |
오라클(SQL) 함수1(집계함수) (0) | 2018.08.31 |