나의 마음을 ctrl+c,너의 가슴에 ctrl+v

oracle 로 insert 문이 있는 sql 파일을 실행시, DATE 타입 필드로 인해 insert 문이 실행실패가 될 경우가 있다.

ORA-01830: date format picture ends before converting entire input string

위의 메시지로 인한 오류라면, 해당 데이터베이스의 DATE SESSION 타입을 SQL 문에 맞게 변경해준다.

example

INSERT INTO TESTC (USER_ID, RGST_DT) VALUES ('webmaster', '2012-07-22 17:22:56');

/* 이 경우, 아래와 같이 일치하는 날짜형으로 변경 */
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

/* 확인 */
select sysdate from dual;

이 후에는 날짜타입으로 인한 sql insert 는 올바르게 실행된다.
위의 변경방법은 ALTER SESSION SET 으로 유추할수 있듯이 접혹한 SESSION 내에서만 적용된다.

기본셋팅의 변경은 database 서버의 기본값을 변경해야 한다. ( .profile 변경 )