Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата

Наши программы => УкрСклад => Тема розпочата: Алла Синицкая від Березень 23, 2016, 13:24:40

Назва: Округление в большую сторону
Відправлено: Алла Синицкая від Березень 23, 2016, 13:24:40
Есть запрос для изменения цены.

UPDATE tovar_name SET CENA_r = udf_roundto(CENA_R * 1.028, 0) WHERE tip = 1134

Если цена выходит 3635,5 грн, то этот запрос выставляет цену 3635 грн, просто обрезая копейки и не округляя в большую сторону. А как выставить правильную цену с увеличением в большую сторону и обрезанием всех знаков после запятой, чтоб цена получалась 3636 грн.

Спасибо всем за помощь!


Назва: Re: Округление в большую сторону
Відправлено: admin від Березень 23, 2016, 15:11:12
Вместо
udf_roundto(CENA_R * 1.028, 0)
попробуйте
round(CENA_R * 1.028, 0)
Это штатная функция которая уже есть в новом Firebird, вот описание функции:
http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-round.html (http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-round.html)
Назва: Re: Округление в большую сторону
Відправлено: Алла Синицкая від Березень 23, 2016, 15:17:09
Ураа!! Заработало!
Спасибо большое!
Назва: Re: Округление в большую сторону
Відправлено: victorpolo від Березень 28, 2016, 09:22:16
о, и себе хочу так сделать.
полный вид будет такой (для розн.цены) : UPDATE tovar_name SET CENA_r = round(CENA_R * 1.028, 0) ?