SQL повышен до степени ошибки " произошла недопустимая операция с плавающей запятой."
У меня есть этот код
declare @termtomonths float
set @termtomonths=120/365.00
set @termtomonths= round(@termtomonths,2,1)*12
select power(1-(1+0.11/12.00), -3.84)
Когда я запускаю его, он возвращает ошибку
Msg 3623, Level 16, State 1, Line 6
An invalid floating point operation occurred.
Попробуйте эту формулу в MS EXCEL, и она работает
=1-(1+0.11/12)^-3.84
Ожидаемый результат
0.034432865
Как я могу преобразовать эту формулу excel в Формулу sql?
Спасибо
1 ответ:
Ваше выражение неверно в SQL. Чтобы получить то же самое, что и в Excel, вы должны сделать следующее:
SELECT 1 - POWER(( 1 + 0.11 / 12.00 ), -3.84);Это дает вам:
Ошибка-это то, что также приводит к ошибке с плавающей точкой, потому что ваша база не может быть отрицательной.0.0344326
Примечание. у вас есть1 -внутри функции POWER в SQL, но не в Excel.
Comments