Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Глюк при расчете на PostgeSQL  [new]
О-О-О
Member

Откуда: Нижний Новгород
Сообщений: 216
Неприятный факт вылез при работе (расчетах) на PostgreSQL. Раньше такая же беда была на Cache Intersystems,
Суть проблемы в следующем. Есть задачка - сумма квадратов чисел от 0 до 1 млн.
Если указывать
a=a+i*i::bigint;

то получается все правильно. А вот если поменять в том же коде на
a=a+i^2::bigint;

То результат уже другой, хотя параметры все те же.
В чем проблема.
До обновления (дней 7-10 назад), мне кажется, такой проблемы не было. Такой клюк был если указывать типа:
a=a+i^2::numeric;

Кто что скажет. Боюсь. Это же значит, что расчеты могут быть НЕВЕРНЫМИ!

Высылаю примеры. Фото 1 - без ошибок. Фото 2 - с ошибками.

Люди видят образы, машины видят цифры.

К сообщению приложен файл. Размер - 135Kb
28 янв 20, 18:03    [22067991]     Ответить | Цитировать Сообщить модератору
 Re: Глюк при расчете на PostgeSQL  [new]
О-О-О
Member

Откуда: Нижний Новгород
Сообщений: 216
Фото №2 с ошибкой.

К сообщению приложен файл. Размер - 140Kb
28 янв 20, 18:05    [22067993]     Ответить | Цитировать Сообщить модератору
 Re: Глюк при расчете на PostgeSQL  [new]
О-О-О
Member

Откуда: Нижний Новгород
Сообщений: 216
Если указать, что числа "numeric"
Странно, но теперь стало правильно.
Я точно знаю, что я в этот промежуток времени установил Python3 на PostgreSQL

Фото №3 (numeric).
.

К сообщению приложен файл. Размер - 143Kb
28 янв 20, 18:12    [22067997]     Ответить | Цитировать Сообщить модератору
 Re: Глюк при расчете на PostgeSQL  [new]
Troglodit
Member

Откуда:
Сообщений: 498
Может потому что нет никакого суслика?
select pg_typeof(1000000^2::bigint),pg_typeof(1000000*1000000::bigint)
28 янв 20, 21:33    [22068100]     Ответить | Цитировать Сообщить модератору
 Re: Глюк при расчете на PostgeSQL  [new]
О-О-О
Member

Откуда: Нижний Новгород
Сообщений: 216
Troglodit,

Спасибо! Я то по наивности думал, что будет как описано в инструкции - указал формат числа и получаешь именно этот формат числа.
Спасибо. Суть понял. Буду проверять указанным вами способом.
.
29 янв 20, 07:34    [22068282]     Ответить | Цитировать Сообщить модератору
 Re: Глюк при расчете на PostgeSQL  [new]
О-О-О
Member

Откуда: Нижний Новгород
Сообщений: 216
Для все остальных, привожу что получилось по запросу, указанному "Troglodit".
.

К сообщению приложен файл. Размер - 43Kb
29 янв 20, 07:36    [22068284]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить