주어진 쿼리를 실행할 때 오류가 발생합니다. 동일한 쿼리는 count (*)를 *로 바꿀 때 결과를 반환하지만 여전히 결과 집합을 스크롤하면 같은 오류가 다시 발생합니다. 이 문제를 해결하는 데 도움주세요.ORA-01861 : count (*) 사용시 리터럴 형식 문자열과 일치하지 않습니다.
SELECT count(*)
FROM cd_table
WHERE
SW_CODE = 'PSTN' AND
CRP_CODE = 'WLR' AND
ERR_CODE = nvl('', ERR_CODE) AND
PRS_ID = 'E' AND
STATUS in ('0', '1') and
TO_DATE(TRANS_ST_DATE,'DD/MM/YY') > sysdate-90 ;
TRANS_ST_DATE의 값은 varchar이고 데이터는 23/09/14와 같습니다.
ORA-01861 : 형식 문자열과 일치하지 않는 문자 01861. 00000 - "형식 문자열과 일치하지 않는 문자" * 원인 : 입력의 리터럴이와 형식 문자열 리터럴과 같은 길이 (수 있어야합니다 선행 공백 제외). "FX"한정자를 토글 한 경우 리터럴은 정확히 일치해야합니다 (추가 공백없이 ). * 지침 : 리터럴과 일치하도록 형식 문자열을 수정하십시오.
변화
도움이되기를 바랍니다 논리적으로 정확하지 않은 NVL 절을 수정 ERR_CODE = NVL을 ('', ERR_CODE) AND to : ERR_CODE IS NULL 및 –
잘 작동합니다. http://sqlfiddle.com/#!4/d41d8/38317 당신은'TRANS_ST_DATE'에서 당신이 생각하는 것을하지 않을 가능성이 있습니다 – zerkms