오라클  날짜관련 .....

 

오라클 고객센터에서 퍼 왔습니다.

=====================================================================

Some Examples of Storing Dates in SQL

DATE 타입의 값에 대한 입력 예제

다양한 종류의 DATE 타입의 컬럼을 가지는 테이블을 생성하였다.

 

create table DATE_TEST

(a date vms,

b date ansi,

c time(0)

default TIME '06:00:00',

d timestamp(2),

e interval year(4)

CHECK(e > INTERVAL '10' YEAR)

not deferrable,

f interval day(3) to minute,

g char(16));

 

ANSI/ISO SQL-92 는 date/time 문자열 (DATE VMS, DATE, TIME, TIMESTAMP and

INTERVAL)이 date/time columns에 첨부될 수 있도록 하고 있다. date/time 구문

을 사용하는 INSERT, DELETE, UPDATE, SELECT 그리고 CREATE, ALTER 등의

문장에서 date/time 문자열을 볼 수 있다.

 

insert into DATE_TEST (a) value (DATE VMS'2-APR-1957');

insert into DATE_TEST (b) value (DATE '1993-2-23');

insert into DATE_TEST (c) value (TIME '12:20:00');

insert into DATE_TEST (d) value (TIMESTAMP '1993-2-23 12:20:00.00');

insert into DATE_TEST (e) value (INTERVAL '35' YEAR(4));

insert into DATE_TEST (f) value (INTERVAL '365:10:21' DAY(3) TO MINUTE);

 

DATE VMS 컬럼은 EDIT STRING을 정의하여 다양한 형식으로 표현할 수 있지만,

ANSI/ISO date/time 값은 다음과 같이 CAST 연산자를 이용하여 DATE VMS로

바꾸지 않는 이상 계속 ANSI/ISO 형식으로 볼 수 밖에 없다.

 

SQL> select d, CAST(d as DATE VMS)

cont> from DATE_TEST

cont> where d is not null;

D

1993-02-23 12:20:00.00 23-FEB-1993 12:20:00.00

1 row selected

SQL>

 

Rdb는 DATE VMS에 대한 내부 형식을 제공한다. 이 형식은 TIMESTAMP 형식과

비슷하지만 "-", ":" 의 구두점이 없다.

다음의 예에서는 DATE VMS 컬럼에 CHAR 컬럼을 할당한다. 애플리캐이션에서

CHAR 컬럼은 호스트 변수나 module language 파라미터가 될 수 있다.

 

SQL> insert into DATE_TEST (g) value ('1957020100000000');

1 row inserted

SQL>

SQL> update DATE_TEST

cont> set a = g

cont> where g is not null;

1 row updated

SQL>

SQL> select a, g

cont> from DATE_TEST

cont> where g is not null;

A G

1-FEB-1957 00:00:00.00 1957020100000000

1 row selected

'(DB) Oracle > 기본문법' 카테고리의 다른 글

Oracle - DDL문  (0) 2017.01.18
Oracle - LOB Type  (0) 2017.01.18
Oracle - Data_Type_LOB  (0) 2017.01.18
Oracle - Data_Type_유니코드지원  (0) 2017.01.18
Oracle - Data_Type  (0) 2017.01.18
Posted by 농부지기
,