Ошибка арифметического переполнения при конвертации денег в числовой тип данных - PullRequest
1 голос
/ 16 мая 2011

Это мой запрос. Я вставляю значения в временную таблицу, но получаю ошибку, подобную этой.

Ошибка арифметического переполнения при преобразовании денег в тип данных числовой.

Запрос:

DECLARE @EBT money
Declare @ConversionRatio money
Declare @TotalRevenues money

insert into #SummarySheet(Item,INR,Dollar,Percentage) 
VALUES ('EBT', isnull(@EBT,0), isnull(@EBT,0)/isnull(@ConversionRatio,0), 
         isnull(@EBT,0)/isnull(@TotalRevenues,0))

FYR:

Значения:

@TotalRevenues="1.00"
@EBT="-50995944.26"
@ConversionRatio="44.5"

Как исправить это ....

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Ошибка арифметического переполнения

Тип данных назначения не способен обрабатывать пространство

добро увеличить пространство

1 голос
/ 16 мая 2011

Ваш стол не деньги.

Числовой (десятичный): недостаточно широкий для рассчитанного значения

Кроме того, чтобы избежать деления на ноль ошибок, эти 2 вычисления

isnull(@EBT,0)/isnull(@ConversionRatio,0)
isnull(@EBT,0)/isnull(@TotalRevenues,0)

должно быть

isnull((@EBT / NULLIF(@ConversionRatio,0)), 0)
isnull((@EBT / NULLIF(@TotalRevenues,0)), 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...