Я работаю над таблицей инвентаря с полем Предполагаемые годы жизни предмета.Я хотел бы получить поле% Месяц амортизации в предполагаемой продолжительности жизни.
SUPPLY_TABLE
Field SUPPLY_ITEM SUPPLY_LIFEYEARS GET_MONTHDEPRE_PERCENT(Desired-output)
Item A 20 0.41667%
Item B 5 1.66667%
Я попытался запустить формулу в Excel для поля% Месяц амортизации в предполагаемой продолжительности жизни, и в нем отображаются правильные данные.Но когда я попытался применить формулу в процедуре выбора, она отображает другой и неправильный результат.
Excel formula = (1/(20*12))*100
Это мой пример процедуры выбора
CREATE PROCEDURE AAAAAAAAAAA_SAMPLE
RETURNS(
SUPPLY_LIFEYEARS DECIMAL(12, 2),
GET_MONTHDEPRE_PERCENT DECIMAL(12, 5))
AS
BEGIN
FOR
SELECT
SUPPLY_LIFEYEARS,
(1/(SUPPLY_LIFEYEARS*12)) * 100
FROM SUPPLY A
INTO
:SUPPLY_LIFEYEARS,
:GET_MONTHDEPRE_PERCENT
DO
BEGIN
SUSPEND;
END
END;
Вывод этогоВыберите процедуру (фактический результат)
SUPPLY_LIFEYEARS GET_MONTHDEPRE_PERCENT
20 0
5 1
Желаемый или ожидаемый результат
SUPPLY_LIFEYEARS GET_MONTHDEPRE_PERCENT
20 0.41667%
5 1.66667%