2014-08-13 6 views
0

Я пытаюсь реализовать формулу для некоторых отчетов в SQL-запросе Sybase 15.7, я получал некоторые странные результаты, поэтому я попытался сломать запрос и запуская его как отдельные.Функция «power» Sybase возвращает пустой набор результатов (ошибка усечения)

select (1+(8.0/12)) 

Результат: 1,66667

Все, как и ожидалось до сих пор

select power(1+(8.0/12), 1) 

Результат: 1,66667

Еще штраф (он также работает на целое число, возведенное в целое число мощность)

select power(1+(8.0/12), 2) 

Пустой набор результатов ....

Почему функция сбоя питания в этом случае?

Проверка журналов. Я получаю предупреждение о том, что «произошла ошибка усечения», которая, как я полагаю, не имеет достаточной точности для обработки результата функции мощности. Однако я не могу найти что-либо в Интернете о том, как справиться с этой ошибкой, или сделать это наилучшим образом возможным для результата ...

Как рассчитать мощность (1+ (8.0/12), 60) в Sybase? (Конечная формула требует, чтобы показатель был равен 60 или даже выше, но Sybase падает с показателем только 2)

ответ

1

Я обнаружил, что он работает, если оба входа являются плавающей точкой.

Другими словами, это работает:

select power(1+(8.0/12), 60.0) 
+0

В SAP ASE 16 они по-прежнему имеют те же проблемы: SELECT POWER (123.45, 2.0) правильно возвращает одну строку/значение, в то время ВЫБОР МОЩНОСТИ (123.45, 2) ничего не возвращает. –

Смежные вопросы