에 유리수를로드하는 방법을 나는이 형식 번호와 데이터 파일이 있습니다Oracle 데이터베이스
나는 쉼표 대신 포인트로 변환해야xx.xx (example : 0.3)
가 데이터베이스에로드 할 수 있습니다. 그것은 잘 작동하지만 0.3이 더 0으로, 3이된다
LOAD DATA
REPLACE
INTO TABLE USER.MYTABLE
FIELDS TERMINATED BY '$'
TRAILING NULLCOLS
(FIELD1,FIELD2,FIELD3,FIELD4,FIELD5,
NUMBER_FIELD "to_number(replace(:NUMBER_FIELD, '.', ','))",
FIELD6,FIELD7,FIELD8)
: 여기 내 제어 파일입니다. 거기에 뭐가 잘못 되었나요? 이 같은
LOAD DATA
REPLACE
INTO TABLE USER.MYTABLE
FIELDS TERMINATED BY '$'
TRAILING NULLCOLS
(FIELD1 DECIMAL(6,0),
FIELD2 VARCHAR,
FIELD3 VARCHAR,
FIELD4 VARCHAR,
FIELD5 VARCHAR,
FIELD6 FLOAT,
FIELD7 FLOAT,
FIELD8 DATE,
FIELD9 VARCHAR)
데이터 라인 : 제안
내가 내 제어 파일을 변경주셔서 감사합니다
1 $ 005 $ 05 $ 1 $ blablabla $ 0.50 $ 0 $ 1월 2일/1996 $ 01
나는 오류가 있습니다.
로그 파일을 지정된 정밀도보다 큰 값을 허용 : 나는 아이폰에 계산되어 있지만
Column Name Position Len Term Encl Datatype
FIELD1 FIRST 4 PACKED DECIMAL (6, 0)
FIELD2 NEXT * VARCHAR
FIELD3 NEXT * VARCHAR
FIELD4 NEXT * VARCHAR
FIELD5 NEXT * VARCHAR
FIELD6 NEXT 4 FLOAT
FIELD7 NEXT 4 FLOAT
FIELD8 NEXT * $ DATE DD/MM/YYYY
FIELD9 NEXT * VARCHAR
- 이 열. 날짜 필드에
- 오류 달의 날이 달의 1과 마지막 날 사이에 있어야합니다 말한다.
새로운 문제가있는 경우 새로운 질문을하십시오. 로드중인 테이블에 대한 DDL과 .bad 파일의 실제 데이터가 포함될 수 있습니다. 하지만 필자는 중요한 필드 유형 만 지정합니다. 암시 적으로 변환해야하는'VARCHAR' 및'DECIMAL'을 삭제하십시오. 날짜 1의 경우 파일 DD/MM/YYYY 또는 실제로 MM/DD/YYYY에있는 값입니다. 오류는 후자를 의미합니다. [형식 마스크를 지정할 수 있습니다.] (https://docs.oracle.com/cd/E11882_01/server.112/e22490/ldr_field_list.htm#sthref792). –
아니요 파일에서 DD/MM/YYYY입니다.하지만 마지막으로 날짜를 지정하지 않으며 암시 적으로 변환됩니다. 그래서 해결되었습니다 – mlwacosmos