Oracle 날짜 함수 안내

5258 단어 Oracle날짜 함수
Oracle 날짜 함 수 는 Oracle 데이터베이스 의 날짜 와 시간 을 처리 하 는 데 사 용 됩 니 다.다음은 Oracle 날짜 함수 의 용법 을 상세 하 게 소개 합 니 다.깨 우 침 을 주 십시오.
(1)SYSDATE 와 TRUNC
두 개의 Oracle 날짜 함 수 는 Oracle 서버 시스템 의 날짜 와 소수 부분의 기능 을 차단 합 니 다.다음 동작 관찰:
create table test_date (name varchar2(20), p_date date);
insert into test_date values(‘name1',sysdate);
select * from test_date;
select * from test_date where p_date='25-10 월-05 일';
select * from test_date where trunc(p_date)='25-10 월-05 일';
Oracle 시스템 에서 SYSDATE 로 얻 은 것 은 날짜 뿐만 아니 라 시간 정보 도 포함 되 어 있 으 며 시간 정 보 는 사실상 유 략 일 데이터 의 소수 부분 을 나타 낸다.
(2)ADD_MONTHS
Oracle 날짜 함 수 는 제 공 된 날짜 와 달 차이 가 있 는 날 짜 를 되 돌려 줍 니 다.함수 에서 미래 나 이전의 달 수 를 보 여 줍 니 다.문법 은 다음 과 같다.
ADD_MONTHS(시작 일,증감 일수)
select add_months('26-10 월-05',2)from dual;
select add_months('26-10 월-05',-2)from dual;
(3)LAST_DAY
주어진 날 짜 를 포함 한 그 달의 마지막 날 을 되 돌려 줍 니 다.문법:
LAST_DAY(날짜)
select last_day('21-2 월-80')from dual;
(4)MONTHS_BETWEEN
이틀 간 의 달 로 돌아가다.문법:
MONTHS_BETWEEN(늦 은 날짜,빠 른 날짜)
select months_between('12-10 월-05','12-9 월-03')from dual;
다음은 약간의 보충 자료 입 니 다.비록 측 하지만 참고 하 세 요.
Oacle 에는 날짜 에 관 한 함수 가 많 습 니 다.
예: 
1、add_months()는 한 날짜 값 에서 몇 달 동안 증가 하거나 감소 하 는 데 쓰 인 다 date_value:=add_months(date_value,number_of_months) 예: SQL> select add_months(sysdate,12) Next Year from dual;    Next Year ---------- 13-11 월-04    SQL> select add_months(sysdate,112) Last Year from dual;    Last Year ---------- 13-3 월 -13    SQL>     
 
 2、current_date()현재 시간 대 에 있 는 현재 날 짜 를 되 돌려 줍 니 다. date_value:=current_date SQL> column sessiontimezone for a15 SQL> select sessiontimezone,current_date from dual;    SESSIONTIMEZONE CURRENT_DA --------------- ---------- +08:00          13-11 월-03 일    SQL> alter session set time_zone=-11:00    2  /    세 션 이 변경 되 었 습 니 다.    SQL> select sessiontimezone,current_timestamp from dual;    SESSIONTIMEZONE CURRENT_TIMESTAMP --------------- ------------------------------------ -11:00          12-11 월-03 04.59.13.668000 오후. -11:                  00    SQL>      
 
3、current_timestamp()는 timestamp 로 with time zone 데이터 형식 은 현재 시간 대 에 있 는 현재 날 짜 를 되 돌려 줍 니 다. timestamp_with_time_zone_value:=current_timestamp([timestamp_precision]) SQL> column sessiontimezone for a15 SQL> column current_timestamp format a36 SQL> select sessiontimezone,current_timestamp from dual;    SESSIONTIMEZONE CURRENT_TIMESTAMP --------------- ------------------------------------ +08:00          13-11 월-03 일 11.56.28.160000 오전. +08:                  00    SQL> alter session set time_zone=-11:00    2  /    세 션 이 변경 되 었 습 니 다.    SQL> select sessiontimezone,current_timestamp from dual;    SESSIONTIMEZONE CURRENT_TIMESTAMP --------------- ------------------------------------ -11:00          12-11 월-03 04.58.00.243000 오후. -11:                  00    SQL>     
 
 4.dbtimezone()은 시간 대 를 되 돌려 줍 니 다. varchar_value:=dbtimezone SQL> select dbtimezone from dual;    DBTIME ------ -07:00    SQL>     
 
 5.extract()에서 날짜 나 간격 값 의 필드 값 을 찾 습 니 다. date_value:=extract(date_field from [datetime_value|interval_value]) SQL> select extract(month from sysdate) This Month from dual;    This Month ----------          11    SQL> select extract(year from add_months(sysdate,36)) 3 Years Out from dual;    3 Years Out -----------         2006    
 6、last_day()날짜 인자 가 포 함 된 달의 마지막 날 짜 를 되 돌려 줍 니 다. date_value:=last_day(date_value) SQL> select last_day(date2000-02-01) Leap Yr? from dual;    Leap Yr? ---------- 29-2 월 -00    SQL> select last_day(sysdate) Last day of this month from dual;    Last day o ---------- 30-11 월-03 일    SQL>     
  7.localtimestamp()는 세 션 의 날짜 와 시간 을 되 돌려 줍 니 다. timestamp_value:=localtimestamp SQL> column localtimestamp format a28 SQL> select localtimestamp from dual;    LOCALTIMESTAMP ---------------------------- 13-11 월-03 일 12.09.15.433000 오후.    SQL> select localtimestamp,current_timestamp from dual;    LOCALTIMESTAMP               CURRENT_TIMESTAMP ---------------------------- ------------------------------------ 13-11 월-03 일 12.09.31.006000   13-11 월-03 일 12.09.31.006000 오후. +08: 오후.                         00    SQL> alter session set time_zone=-11:00;    세 션 이 변경 되 었 습 니 다.    SQL> select localtimestamp,to_char(sysdate,DD-MM-YYYY HH:MI:SS AM) SYSDATE from dual;    LOCALTIMESTAMP               SYSDATE ---------------------------- ------------------------ 12-11 월-03 05.11.31.259000   13-11-2003 12:11:31 오후. 오후.    SQL>      
 8、months_between()두 날짜 사이 의 월 수 를 판단 합 니 다. number_value:=months_between(date_value,date_value) SQL> select months_between(sysdate,date1971-05-18) from dual;    MONTHS_BETWEEN(SYSDATE,DATE1971-05-18) ----------------------------------------                                389.855143    SQL> select months_between(sysdate,date2001-01-01) from dual;    MONTHS_BETWEEN(SYSDATE,DATE2001-01-01) ----------------------------------------                                34.4035409    SQL>      
 9、next_day()는 날짜 값 을 지정 하고 두 번 째 매개 변수 가 지적 한 날 에 처음으로 나타 난 날짜 값 을 되 돌려 줍 니 다.(해당 날 의 이름 문자열 을 되 돌려 야 합 니 다) 본 고 는 Oacle 중국 연맹 을 참고 한다.

좋은 웹페이지 즐겨찾기