ORA-01861

Oracle/기본문법 2013. 6. 13. 13:50

보통 테이블 내 컬럼의 데이터 타입과 SQL구문 내에서 쓴 데이터타입이 일치하지 않는 경우 나타나는 에러인것 같음..


오늘 TOAD 설치 후 한글이 깨지는 문제가 발생해서 여차저차 수정하고 이전에 문제없이 사용했던 인서트 구문을 실행하니

갑자기 떡하니 나오는 01861...-ㅅ-


문제 없던 인서트 구문은 테이블내 날짜 타입 컬럼에 '2000-10-10' 이라는 데이터를 적어놨는데

이전에는 자동으로 날짜타입으로 형변환하여 인서트해서 문제가 없었지만.. 위에 쓴 한글깨지는 오류를 해결하고 나니 인서트가 안됨...ㅡ.ㅡ;;;


연습할때는 상관없겠지만 어차피 묵시적인 형변환보다는 실무에서는 명시적인 형변환을 사용하는 것이 주가 되므로

기존 문제 없던 구문을 아래와 같이 변경함.



INSERT INTO insa (num, name, ssn, ibsaDate, city, tel, buseo, jikwi, basicPay, sudang) VALUES

  (1001, '홍길동', '771212-1022432', to_date('1998-10-11', 'yyyy-mm-dd'), '서울', '011-2356-4528', '기획부', 

   '부장', 2610000, 200000);


여기서 ibsaDate는 당근 날짜타입의 컬럼 ㅇㅇ


되도록 옵티마이저를 믿기보다는 명시적으로 쿼리를 짤 수 있는 버릇을 기르자!


WRITTEN BY
빨강꼬마

,