Я есть проблемы с кодом, когда я бегу я получаюнедопустимая операция с плавающей точкой произошла POWER в SQL Server
An invalid floating point operation occurred
Мой код выглядит следующим образом:
select POWER(ISNULL(value1,0)/NULLIF(value2,0) , 12/CONVERT(numeric(6,2),value3))
где значение1 (тип данных: деньги), значение2 (тип данных: деньги), значение3 (тип данных: int) - это столбцы в моей базе данных.
Я получаю эту ошибку, когда value1 = Null, значение2 = 164083520,00 и value3 = 177
Странно, что, если я заменю с этими числами я получаю правильный результат, но не во время выполнения этого.
Любые идеи?
Я попробовал эти точные значения и тип данных и не получить ошибку –
Это не дает ошибку: DECLARE @t таблицы (value1 денег, значение2 денег, Value3 INT) ВСТАВИТЬ @t значений (NULL, 164083520,00, 177) ВЫБОР МОЩНОСТИ (ISNULL (value1,0)/NULLIF (value2,0), 12/ПРЕОБРАЗОВАНИЯ (числовое) (6,2, значение3)) FROM @t –
Имейте в виду, что даже если у вас есть предложение WHERE, h, что вы думаете, это оценивает это выражение только для этих конкретных значений, на самом деле это не так - возможно, это попытка оценить это выражение в других строках таблицы ... – AakashM