Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Erro de estouro aritmético ao converter numérico em tipo de dados numérico


Meu palpite é que você está tentando espremer um número maior que 99999,99 em seus campos decimais. Mudar para (8,3) não fará nada se for maior que 99999,999 - você precisa aumentar o número de dígitos antes o decimal. Você pode fazer isso aumentando a precisão (que é o número total de dígitos antes e depois do decimal). Você pode deixar a escala igual, a menos que precise alterar quantas casas decimais armazenar. Tente decimal(9,2) ou decimal(10,2) como queiras.

Você pode testar isso comentando o insert #temp e veja quais números a instrução select está dando a você e veja se eles são maiores do que sua coluna pode manipular.