본문 바로가기
Oracle(DB관련)

날짜함수

by xfree302 2009. 11. 4.
반응형

날짜 함수

-- lastday
select last_day(sysdate) from dual;

-- add_months
select add_months(sysdate, 3) from dual;

-- months_between
select months_between(to_date('2009/12/25'), to_date('2009/11/25')) from dual;

-- round() 반올림
select round(to_date('2009/12/25'),'year'), round(to_date('2009/12/25'),'month'), round(to_date('2009/12/25'),'day') from dual;
-- DATE형에 시간 더하고 빼기
select to_char(sysdate, 'HH24:MI:SS') birth_time,
       to_char(sysdate + 14 / 24, 'HH24:MI:SS') time,
       to_char(sysdate + 30 / (24 * 60), 'HH24:MI:SS') min,
       to_char(sysdate + 50 / (24 * 60 * 60), 'HH24:MI:SS') sec
from dual
-- 요일
select to_char(sysdate, 'D'),
       to_char(sysdate, 'DY'),
       to_char(sysdate, 'DY', 'NLS_DATE_LANGUAGE=AMERICAN'),
       to_char(sysdate, 'DY', 'NLS_DATE_LANGUAGE=KOREAN')
  from dual

 

-- 요일/주/분기
select trunc(sysdate, 'YY') as yy /*같은 연도의 01월 01일 */,
       trunc(sysdate, 'Q') as q /*분기의 첫월 01일*/,
       trunc(sysdate, 'MM') as mm /*YYYY년 MM월 01일*/,
       trunc(sysdate, 'WW') as ww /*SYSDATE가 속하는 주에서 같은 연도 1월1일의 요일과 같은 요일의 일자*/,
       trunc(sysdate, 'IW') as iw /*SYSDATE가 속하는 주에서 월요일의 일자*/,
       trunc(sysdate, 'W') as w /*SYSDATE가 속하는 주에서 같은 월 1일의 요일과 같은 요일의 일자*/,
       trunc(sysdate, 'Q') - 1 as bqe /*전 분기 말일*/,
       add_months(trunc(sysdate, 'Q'), -3) as bqs /*전 분기초 1일*/
  from dual;

 

 

반응형

'Oracle(DB관련)' 카테고리의 다른 글

숫자함수  (0) 2009.11.04
문자함수  (0) 2009.11.04
그룹별 합계, 누적합계 sum()  (0) 2009.11.04
순서정하기 rank()  (0) 2009.11.04
sys_connect_by_path row데이터를 column데이터로  (0) 2009.11.04