2011-03-08 2 views
2

저는 SQL 로더를 처음 사용하고 있으며 날짜 형식에 문제가 있습니다.Oracle sql 로더 날짜 형식 문제

Y, 1525039510, HTTP-192.168.2.2,15-01-2011 : 00 : 00 : 032 : 728,64
Y, 1525131958, HTTP-192.168 여기

입력 파일 레코드 샘플이다. 2.2.15-01-2011 00 : 00 : 033 : 613,75

네 번째 열에 문제가 있습니다. 날짜입니다.

내 현재 필드의 항목은 이것이다 : FF3와 SS : 나는 SSS 시도 728 (초 및 밀리 초)

:

start_time DATE "DD-MM-YYYY HH:MI

는 어떻게 입력 032의 마지막 부분을 분석 않습니다. FF3, 안돼.

+0

TIMESTAMP가 아닌 DATE 열에 데이터를로드 하시겠습니까? TIMESTAMP는 밀리 초를 저장할 수 있지만 DATE는 저장할 수 없습니다. 밀리 세컨드 (milliseconds)를 없애고 싶다고 가정 할 때, 세 번째 숫자는 몇 초입니까? 필드의 해당 부분에 실제로 59 초가 넘을 수 있습니까? –

+0

ss.FF는 일을해야합니다 –

+0

@Justin Cave : 왜 세 자리에 숫자가 있습니까? 내가 알고 싶으면 입력 파일을 준 사람에게 물어봐! –

답변

2

입력을 문자열로 처리하고 함수로 변환 할 수 있습니다. 이런 식으로 뭔가 작업을해야합니다 : 나는 그들이 DATE 데이터 타입 (to_dateFF 형식을 인식하지 않음)의 일부가 아니기 때문에 밀리 초 부분을 삭제했다

start_time CHAR to_date(substr(:start_time, 1, 20), 'dd-mm-yyyy hh24:mi":0"ss') 

.

2

이것을 타임 스탬프 필드로 읽을 수 있습니다. 데이터가 이상하게 보입니다. 15-01-2011 00 : 00 : 033 : 613,75하지만 변환 형식은 dd-mm-yyyyhh 여야합니다. mi : 0ss : fff, ff nls 설정이 예상대로입니다.

로널드.