Вычисляет процент наценки по заданной цене и заданной схеме цен и наценок. Округляет до 2 знаков результат.
- price - цена, на которую нужно вычислить наценку
- markups - наценки, отсортированные в порядке убывания price. Как массив из пар (цена;наценка)
make
make install
make installcheck
psql -c 'create extension calculate_markup'
цена находится между первым и вторым элементом:
SELECT price_modifiers._calculate_markup(75000, '{{100000,7.0},{50000,8.0},{10000,10.0},{1000,12.0},{100,22.0},{0,22.0}}'::numeric[]);
--
7.50
цена находится на 4-м элементе:
SELECT price_modifiers.c_calculate_markup(1000, '{{100000,7.0},{50000,8.0},{10000,10.0},{1000,12.0},{100,22.0},{0,22.0}}'::numeric[]);
--
12.0
цена выше, чем у первого элемента:
SELECT price_modifiers.c_calculate_markup(150000, '{{100000,7.0},{50000,8.0},{10000,10.0},{1000,12.0},{100,22.0},{0,22.0}}'::numeric[]);
--
7.0