Skip to content

example of PostgreSQL extension with function for linear interpolation

Notifications You must be signed in to change notification settings

chobostar/calculate_markup

Repository files navigation

Расширение PostgreSQL с функцией вычисления наценки методом линейной интерполяции

price_modifiers._calculate_markup(price numeric, markups numeric[])

Вычисляет процент наценки по заданной цене и заданной схеме цен и наценок. Округляет до 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

About

example of PostgreSQL extension with function for linear interpolation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published