생활
ORA-01861 리터럴이 형식 문자열과 일치하지 않음 에러가 안나다가 갑자기 납니다.
ORA-01861 리터럴이 형식 문자열과 일치하지 않음 에러가 안나다가 갑자기 납니다.
동일한 쿼리고 안에 들어있는 데이터 타입도 똑같은거같은데 안나다가 갑자기 나기 시작했습니다.
심지어 동일한 varchar2 타입에 칼럼이 두개가 있는데
A 칼럼은 에러가 나고 B 칼럼은 에러가 나지 않습니다.
TABLE 이 UESR 라고 치면
UESR에 STARTDATE, OUTDATE 칼럼이 2개 있는 형식입니다.
이때 SELECT STARTDATE WHERE STARTDATE = to_date(sysdate-7, 'YY-MM-dd');
이건 에러가 나지 않습니다. varchar2 타입인 칼럼인데도 말이죠
거꾸로 SELECT STARTDATE WHERE STARTDATE = to_char(sysdate-7, 'YY-MM-dd');
하는것도 에러가 나지 않습니다. 이건 당연한것같습니다.
그런데 이상하게
SELECT OUTDATE WHERE OUTDATE = to_char(sysdate-7, 'YY-MM-dd');
는 에러나지않지만
SELECT OUTDATE WHERE OUTDATE = to_date(sysdate-7, 'YY-MM-dd');
이건 에러납니다. varchar2 타입인 칼럼이라 에러가 나는건 이해할수있습니다.
이상한건
몇달동안 한번도 에러난적이 없단것과
동일한 구조의 칼럼인 startdate 는 에러가 안난다는것과
startdate는 to_date건 to_char건 에러가 안난다는겁니다.
바꾸는건 그냥 to_date로 되어있던건 tochar 로 바꾸면 될것같은데....도대체
저 3개의 이유를 모르겠습니다.
답변 부탁드립니다!
1개의 답변이 있어요!