DBAtlas · Atlas de operaciones de bases de datos

22003: numeric_value_out_of_range

PostgreSQL

¿Qué significa?

Un valor numérico está fuera del rango permitido por el tipo de destino. Por ejemplo, escribir un valor superior a 2 mil millones en una columna integer, o un número demasiado grande para una columna numeric(5,2).

¿Por qué ocurre?

Superar los límites de smallint/integer/bigint; superar la precisión/escala de numeric(p,s); desbordamiento aritmético; una suma/producto que supera la capacidad del tipo; una secuencia que alcanza el límite superior de su tipo.

Cómo solucionarlo

Cambie la columna/parámetro a un tipo más amplio (bigint en lugar de integer, aumente la precisión de numeric): ALTER TABLE my_table ALTER COLUMN my_column TYPE bigint; Redondee (ROUND) o valide el valor según la regla de negocio. Si desborda un cálculo intermedio, calcule la expresión como numeric. Para el desbordamiento de una secuencia, amplíe el tipo.

Abrir en DBAtlas →

Más entradas de este motor