날짜 함수 (이채남 선생님 오라클 실습 2장 중)
-- 1. date type + date type 의 가산은 불가능
select sysdate + birth_date
from temp
where emp_name = '홍길동';
-- 2. date type - date type 의 감산은 가능
select emp_name, sysdate-birth_date from temp
where emp_name = '홍길동';
-- 3. date type에 number type을 더하거나 빼서 날짜 계산이 가능
select emp_name, birth_date, birth_date + 1.5, birth_date - 1.5
from temp
where emp_name = '홍길동';
-- * sysdate는 초단위까지 계산되지만 기본적으로 년/월/일만 출력됨
select sysdate from dual;
-- 4. date type 출력 형식 지정 및 시, 분, 초 계산
select to_char(sysdate,'HH24:MI:SS') AS TIME,
to_char(sysdate + 14/24, 'HH24:MI:SS') AS "14시간 후",
to_char(sysdate + 30 / (24*60) , 'HH24:MI:SS') AS "30분후",
to_char(sysdate + 50 / (24*60*60), 'HH24:MI:SS') AS SEC from dual;
-- 5. 날짜 함수의 활용 (1) ADD_MONTHS
select sysdate,
add_months(sysdate,1), -- 한달 더하기
add_months(sysdate,-13) -- 13개월 빼기
from dual;
-- 6. 날짜 함수의 활용 (1) MONTHS_BETWEEN
select months_between(sysdate,birth_date) MON_TERM
from temp
where emp_name = '홍길동';
-- 7. 연습문제 : ADD_MONTH 함수의 사용
select emp_name, round(months_between(birth_date,sysdate)) MONTHS,
to_char(birth_date,'yyyy-mm-dd') BIRTH,
to_char(add_months(sysdate,months_between(birth_date,sysdate)),'yyyy-mm-dd') TO_YE1,
to_char(add_months(sysdate,trunc(months_between(birth_date,sysdate))),'yyyy-mm-dd') TO_YE2,
to_char(add_months(sysdate,round(months_between(birth_date,sysdate))),'yyyy-mm-dd') TO_YE3 from temp;
-- 8. LAST_DAY --> 해당 월의 말일 산출
select emp_name, birth_date, last_day(birth_date)
from temp;
'Oracle_DB_Unix admin > 미분류' 카테고리의 다른 글
그룹함수 (이채남 선생님 저 '오라클 실습' 참고) (0) | 2016.01.28 |
---|---|
데이터 형 변환 함수 (이채남 선생님 저 '오라클 실습' 참고) (0) | 2016.01.28 |
데이터 형 변환이 일어나는 예 (0) | 2015.10.25 |
TABLE에 대한 사소한 몇 가지의 의문 해결 (0) | 2015.10.25 |
DATA TYPE - DATE 옆에는 Length를 쓰면 안돼요! (0) | 2015.10.12 |