2015-01-21 3 views
0

나는 다음과 같은 구조로 내 오라클 데이터베이스에서 테이블을 만들려고 오전 :오라클 데이터베이스 테이블 열 타임 스탬프

CREATE TABLE orderlines(collectionTime TIMESTAMP NOT NULL); 

행에 갈 것 소인의 예는 다음과 같습니다

20-01-2015 11:33:48-04:00 

이 타임 스탬프를 저장하는 데 사용할 수있는 최상의 데이터 형식은 무엇입니까? TIMESTAMP 또는 DATE?

또한 형식은 무엇입니까?

모든 타임 스탬프가 포함 된 CSV 파일을 가져 오려고하면 SQL Developer 가져 오기 마법사의 형식이 잘못되었습니다. 나는이 타임 스탬프를 저장하는 데 사용할 수있는 가장 좋은 데이터 형식이 될 것입니다 무엇

DD-MM-YYYY HH24:SS:MM-TZ 

답변

1

를 시도? TIMESTAMP 또는 DATE?

TIMESTAMP 데이터 유형은 DATE 데이터 형식에 대한 확장이다. datetime 요소 외에도 TIMESTAMP 데이터 유형에는 1 초의 분수가 저장됩니다. TIMESTAMP 시간대가이고 시간대는 현지 시간대가입니다. 따라서 timezone 요소와 함께 초의 정밀도까지 정밀도를 원하면 TIMESTAMP로 이동하십시오. 그렇지 않으면 DATE 데이터 유형이 datetime 요소를 제공합니다.

또한 형식은 무엇입니까?

형식은 입니다. 디스플레이입니다. 따라서 표시하고자하는 형식 모델을 사용하십시오. TO_CHAR과 적절한 형식 모델을 사용해야합니다. 예를 들어,

SQL> select to_char(sysdate, 'mm/dd/yyyy hh24:mi:ss') from dual; 

TO_CHAR(SYSDATE,'MM 
------------------- 
01/21/2015 11:02:27 

SQL> select to_char(sysdate, 'mm/dd/yyyy hh:mi:ss am') from dual; 

TO_CHAR(SYSDATE,'MM/DD 
---------------------- 
01/21/2015 11:03:04 am 

SQL> 

내가 타임 스탬프가 모두 포함 내 CSV 파일을 가져 시도

는 SQL 개발자 가져 오기 마법사 형식처럼 일부러.

로캘 별 NLS_DATE_FORMAT에 문제가 있습니다.

0

'DD-MM-YYYY HH24 : MI : SS-TZH : TZM'을 시도해보십시오. 이 마스크는 to_timestamp_tz으로 인식됩니다. MM은 몇 개월이고 MI는 분입니다. 또한 마스크에 몇 시간 : 초 : 분이 있었지만 오류가 아닌 잘못된 값이 나옵니다.

관련 문제