sql - than - ora 01438 valor mayor que el que permite la precisión especificada para esta column
"ORA-01438: valor mayor que la precisión especificada permitida para esta columna" al insertar 3 (2)
Me estoy encontrando con ese error cuando intento insertar cualquier número excepto 0 en un campo con formato NÚMERO (2,2).
UPDATE
PROG_OWN.PROG_TPORCENTAJE_MERMA
SET
PCT_MERMA = 3
WHERE
IDN_PORCENTAJE_MERMA = 1
[Código de error: 1438, estado de SQL: 22003] ORA-01438: valor mayor que la precisión especificada permitida para esta columna
COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS
PCT_MERMA 3 NUMBER 2 0 2
También sucede si intento con números decimales.
¿Alguna idea de por qué?
NUMBER (precision, scale)
significa el número de precision
de los dígitos totales, cuyos dígitos de scale
están a la derecha del punto decimal.
NUMBER(2,2)
en otras palabras significa un número con 2 dígitos, ambos decimales. Puede querer usar NUMBER(4,2)
para obtener 4 dígitos, de los cuales 2 son decimales. Actualmente puede simplemente insertar valores con una parte entera cero.
No se puede actualizar con un número mayor que 1 para el tipo de datos number(2,2)
es porque, el primer parámetro es el número total de dígitos en el número y el segundo (es decir, 2 aquí) es el número de dígitos en parte decimal Supongo que puede insertar o actualizar datos < 1
. es decir, 0,12, 0,95, etc.
Por favor marque NUMBER DATATYPE en NUMBER Datatype .