ORA-01858: 수치를 지정해야 할 위치에 비수치 문자가 지정되었습니다 오류는 숫자형 또는 숫자형으로 묵시적 형변환이 가능한 숫자 형태의 문자형이 위치해야 할 곳에 비 수치 문자가 지정된 경우에 발생합니다. 해당 위치에 있는 비 수치 문자를 문자 형태로 수정하여 해결할 수 있습니다.
ORA-01858: 수치를 지정해야 할 위치에 비수치 문자가 지정되었습니다 해결하기
다음은 ORA-01858 오류가 발생하는 예제 자료입니다.
SELECT TO_DATE (SYSDATE, 'YYYYMMDD') FROM DUAL;
*
ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
TO_DATE 날짜형 변환 함수는 보통 첫 번째 매개변수로 캐릭터 형태를 설정합니다. 다음과 같이 수정하여 해결할 수 있습니다. TO_DATE 함수뿐만 아니라 비수치 문자가 들어가는 다른 함수에서도 ORA-01858 오류는 발생할 수 있습니다. 다음은 정상적으로 나오도록 수정한 예제입니다.
SELECT TO_CHAR (SYSDATE, 'YYYYMMDD') FROM DUAL;
TO_CHAR(SYSDATE,
----------------
20010101