본문 바로가기

오라클

오라클(SQL) 함수2(날짜 시간 함수)

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