티스토리 뷰

ORA-01481 : 숫자 형식 모델이 잘못되었습니다.

 

01. ORA-01481 오류는 어떤 오류인가?

TO_CHAR(수치) 함수 또는 TO_NUMBER 함수 등으로 어떤 형식 모델을 사용하여 변환을 수행 할 때 

서식 모델에 잘못된 숫자 형식을 지정하고 있기 때문에 발생하는 오류이다.

 

02. ORA-01481 오류의 오류 출력

ex) 문자열 -200을 음수 부호가 있는 숫자 3자리로 변환하려고 다음 SQL문을 발행한 경우

SQL>SELECT TO_NUMBER('-200', '-999') AS RESULT FROM DUAL;
SELECT TO_NUMBER('-200', '-999') AS RESULT FROM DUAL
1행에서 에러가 발생했습니다.
ORA-01481: 숫자 형식 모델이 잘못되었습니다.

 

03. ORA-01481의 일반적인 발생 요인과 대처

ORA-01481은 일반적으로 다음과 같은 요인으로 발생합니다.

 

TO_CHAR(수치) 함수 또는 TO_NUMBER함수에서 지정하는 숫자 형식이 잘못되었습니다.

 

위의 오류 출력의 경우, TO_NUMBER 함수의 두 번째 인수 '-999'는 올바른 숫자 형식의 지정이 없기 때문에

ORA-01481이 발생하고 있습니다.

적절한 숫자 형식을 지정하는 것으로 의도된 서식 모델로 변환합니다.

위 예제의 경우 숫자 3자리와 선두에 부호를 부여하는 형식은 's999'이기 때문에 올바른 SQL은 아래와 같습니다.

SQL>SELECT TO_NUMBER('-200', 's999') AS RESULT FROM DUAL;
RESULT
--------------------------
-200

 

[추가설명]

숫자 형식 모델을 지정할 수 있는 변환 함수의 종류

・TO_CHAR

・TO_NUMBER

・TO_BINARY_DOUBLE

・TO_BINARY_FLOAT

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함