반응형
날짜 함수
-- 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 |