programing

3을 삽입할 때 "ORA-01438: 이 열에 대해 허용된 지정된 정밀도보다 큰 값"

closeapi 2023. 6. 10. 09:07
반응형

3을 삽입할 때 "ORA-01438: 이 열에 대해 허용된 지정된 정밀도보다 큰 값"

0을 제외한 숫자를 NUMBER(2,2) 형식의 필드에 삽입하려고 할 때 해당 오류가 발생합니다.

UPDATE
    PROG_OWN.PROG_TPORCENTAJE_MERMA
SET
    PCT_MERMA = 3
WHERE
    IDN_PORCENTAJE_MERMA = 1

[오류코드:1438, SQL상태:22003] ORA-01438: 이 컬럼에 허용된 지정 정밀도보다 큰 값

COLUMN_NAME DATA_TYPE   TYPE_NAME   COLUMN_SIZE   BUFFER_LENGTH   DECIMAL_DIGITS
PCT_MERMA   3           NUMBER      2             0               2

제가 십진법을 사용해 보면 그런 일이 벌어지기도 합니다.

왜 그런지 추측이라도?

데이터 유형에 대해 1보다 큰 숫자로 업데이트할 수 없습니다.number(2,2)첫 번째 매개 변수는 숫자의 총 자릿수이고 두 번째 매개 변수(.e 2)는 소수점 부분의 자릿수이기 때문입니다.데이터를 삽입하거나 업데이트할 수 있습니다.< 1예: 0.12, 0.95 등

NUMBER 데이터 유형에서 NUMBER 데이터 유형을 확인하십시오.

NUMBER (precision, scale)수단precision총 자릿수, 그 중scale자릿수는 소수점의 오른쪽입니다.

NUMBER(2,2)즉, 두 자리 모두 소수인 두 자리 숫자를 의미합니다.다음을 사용할 수 있습니다.NUMBER(4,2)네 자리를 얻는데, 그 중 두 자리는 소수점입니다.현재는 정수가 0인 값만 삽입할 수 있습니다.

자세한 내용은 Oracle 문서를 참조하십시오.

언급URL : https://stackoverflow.com/questions/14357816/ora-01438-value-larger-than-specified-precision-allowed-for-this-column-when

반응형