ORA-01843: 지정한 월이 부적합합니다. 대한 질문입니다. 0 3 10,343

by 로이스 [Oracle 기초] ORA-01843 [2012.11.25 02:08:24]


20121124000000 이라는 char 타입의 시간이 있습니다. 이것을 다른 원격지의 테이블에 넣어야 합니다.
거기는 date 타입으로 되어 있어서 to_date(reg_date,'YYYYMMDDHH24MISS')는 식으로 데이터를 넣어주려고 했습니다.
이 형식으로 써서 데이터 한개도 안들어갔으면 틀렸구나 생각할텐데... 9월 데이터는 잘 옮겨졌구요.

8월 데이터에서 위의 에러 메세지가 나옵니다.
그래서 08/31/2012 23:59:38 식으로 들어 있는 형식대로 바꿔서 'MM/DD/YYYY HH24:MI:SS' 식으로 넣어봤습니다.
그런데도 여전히 데이터는 들어가지가 않았습니다.

인터넷에서 찾아보니 NLS_LANG과 NLS_FORMAT을 바꿔봐라 해서 위의 2개 같이 바꿔봤지만 데이터는 여전히 들어가지가 
않았습니다.

ORA-01843: 지정한 월이 부적합합니다.
ORA-02063: line가 선행됨

여전히 이런 메세지만 보여주고 있습니다. 

원격으로 데이터를 insert 하면 원격지의 data 타입형식을 따르면 될것 같은데... 안되네요. 

좀 도와주세요. 
by 손님 [2012.11.26 09:35:22]

저의 생각으로는 9월 자료는 들어가는데 8월 자료가 들어가지 않는다는건
형식의 문제라기 보다는
8월 자료중 일자 형식에 맞지않는 자료가 존재하지 않나 생각이 듬니다.

해서. 자료를 검증해 보심이 어떠하신지....


by 마농 [2012.11.26 09:52:51]
처음 사용하신 포멧이 맞는듯 하며 두번쨰 포멧은 아닌듯 합니다.
윗분 말씀대로 불량 자료가능성이 높긴한데.
이해가 안가는 것은 8월 자료만 안들어 간다는 것은 8월 조건을 줬다는 말로 해석되는데.
8월 조건만 줬다면? 지정한 월이 틀릴리는 없겠지요?
지정한 월이 틀리다는 말은 '00', '13' 등의 자료가 들어갔다는 말입니다.
이런 자료는 '08' 조건 걸러낼 때 이미 걸러졌을 테니 오류가 나는게 이상하네요?
사용하신 쿼리를 올려주시면 좋겠네요.

by 로이스 [2012.11.27 11:13:58]
답변들 감사합니다. 
데이터의 오류였습니다. 날짜를 char 형식으로 사용할 경우 발생할 수 있는 오류였습니다.
'00000000000000' 이 한건이 문제였습니다. 
이건 지금 해결한 상황입니다. 

도움이 많이 되었습니다. 감사합니다. 
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입