| От | Magnus Hagander |
|---|---|
| Тема | Re: BUG #3959: Huge calculation error |
| Дата | |
| Msg-id | 47B2D35D.1000806@hagander.net обсуждение исходный текст |
| Ответ на | BUG #3959: Huge calculation error ("Renaud Diez" <rdiez@salesprize.com>) |
| Список | pgsql-bugs |
Renaud Diez wrote: > The following bug has been logged online: > > Bug reference: 3959 > Logged by: Renaud Diez > Email address: rdiez@salesprize.com > PostgreSQL version: 8.2 > Operating system: Debian > Description: Huge calculation error > Details: > > the basic mathematical expression like the following one doesn't compute the > correct result: > >> select 100*(1+(21/100)); > > return a result of 100 instead of 121. It does compute the correct result, because you're doing integer calculations. 21/100 for integers is 0. To make it do float calc, you can do select 100*(1+(21::float/100)); Or you can do select 100*(1+(21.0/100)); which will force it to numeric. //Magnus
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера