Member 12183079 Ответов: 1

Как получить правильное значение в SQL server


DECLARE @Amount NUMERIC(16,2) 
SELECT @Amount=isnull(64400.00,0) * (Power((1 +(ISNULL(Amount,0.00)/100)),isnull(13,0))-1) FROM biz_FineSetup 
WHERE FeeHeadID=80      
AND ClassID=42           
AND SectionID=299          
AND CategoryID=12       
AND SchoolID=1  
SELECT @Amount


Что я уже пробовал:

Выше я пишу запрос и получаю вывод типа 30173.59

но мой правильный вывод будет таков 3087 так как же получить правильное значение пожалуйста помогите

Maciej Los

Вы думаете, что мы ясновидящие?

1 Ответов

Рейтинг:
0

OriginalGriff

Мы не можем помочь вам напрямую - у нас нет доступа к вашей базе данных, поэтому мы понятия не имеем, какие значения находятся в столбце сумма для выбранной строки, и это имеет основополагающее значение для расчета.

Поэтому начните с добавления суммы в список выбора и возврата ее и вашего расчетного значения - тогда вы сможете начать работать над тем, что происходит. но это какой-то странный код: isnull(64400.00,0) и isnull(13,0) мы всегда будем возвращаться 64400.00 и 13 соответственно...


Member 12183079

Сумма значений столбца 3.00

OriginalGriff

И почему ты так думаешь
64400.00 * (мощность((1 +(3.0/100)),13)-1)
должно быть 3087?
64400.00 * (1.030000 к силе 13)-1)
Будет 30173.59 ...

Maciej Los

5ed!

Member 12183079

потому что я вычисляю как количество процентов как 3 процента

OriginalGriff

3% от чего?
3% из 64400-это 1932 год, а не 3087 ...