Re: Floating point error
От
Albe Laurenz
Тема
Re: Floating point error
Дата
Msg-id
A737B7A37273E048B164557ADEF4A58B057B8604@ntex2010a.host.magwien.gv.at
Ответ на
Re: Floating point error (Tom Duffey)
Список
Дерево обсуждения
Floating point error Tom Duffey <tduffey@trillitech.com>
Re: Floating point error John R Pierce <pierce@hogranch.com>
Re: Floating point error John R Pierce <pierce@hogranch.com>
Re: Floating point error Edson Richter <edsonrichter@hotmail.com>
Re: Floating point error Adrian Klaver <adrian.klaver@gmail.com>
Re: Floating point error Tom Duffey <tduffey@trillitech.com>
Re: Floating point error Adrian Klaver <adrian.klaver@gmail.com>
Re: Floating point error Tom Duffey <tduffey@trillitech.com>
Re: Floating point error Kevin Grittner <kgrittn@ymail.com>
Re: Floating point error Albe Laurenz <laurenz.albe@wien.gv.at>
Re: Floating point error Tom Duffey <tduffey@trillitech.com>
Re: Floating point error Edson Richter <edsonrichter@hotmail.com>
Re: Floating point error James Cloos <cloos@jhcloos.com>
Re: Floating point error Tom Duffey <tduffey@trillitech.com>
Re: Floating point error Albe Laurenz <laurenz.albe@wien.gv.at>
Re: [HACKERS] Floating point error Maciek Sakrejda <m.sakrejda@gmail.com>
Re: [HACKERS] Floating point error Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] Floating point error Maciek Sakrejda <m.sakrejda@gmail.com>
Re: [HACKERS] Floating point error Daniel Farina <daniel@heroku.com>
Re: [HACKERS] Floating point error Kevin Grittner <kgrittn@ymail.com>
Re: [HACKERS] Floating point error Heikki Linnakangas <hlinnakangas@vmware.com>
Re: [HACKERS] Floating point error James Cloos <cloos@jhcloos.com>
Re: [HACKERS] Floating point error Albe Laurenz <laurenz.albe@wien.gv.at>
Re: [HACKERS] Floating point error Maciek Sakrejda <m.sakrejda@gmail.com>
Re: [HACKERS] Floating point error Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] Floating point error Florian Weimer <fweimer@redhat.com>
Re: [HACKERS] Floating point error Maciek Sakrejda <m.sakrejda@gmail.com>
Re: [HACKERS] Floating point error Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] Floating point error Tom Duffey <tduffey@trillitech.com>
Re: [HACKERS] Floating point error Edson Richter <edsonrichter@hotmail.com>
Re: Floating point error James Cloos <cloos@jhcloos.com>
Tom Duffey wrote: > Here is a smaller test case that does not involve Java. I guess this prob= ably is just due to floating > point error when the initial value is inserted that is too large for the = field but it's still a > surprise. >=20 > Create a test table, insert a couple values and view the results: >=20 > CREATE TABLE test ( > id INTEGER PRIMARY KEY, > value REAL NOT NULL > ); >=20 > INSERT INTO test (id, value) VALUES (1, 10.3884573), (2, 10.3885); > SELECT * FROM test; >=20 > id | value > ----+--------- > 1 | 10.3885 > 2 | 10.3885 > (2 rows) SET extra_float_digits=3D3; SELECT * FROM test; id | value ----+------------ 1 | 10.3884573 2 | 10.3885002 (2 rows) PostgreSQL by default omits the last three digits to avoid differences on different architectures (I think). When you convert to double precision, you'll see these digits. > At this point you would think you have two equal values. Now change the t= ype: >=20 > ALTER TABLE test ALTER COLUMN value TYPE DOUBLE PRECISION; > SELECT * FROM test; >=20 > id | value > ----+------------------ > 1 | 10.3884572982788 > 2 | 10.388500213623 > (2 rows) Yours, Laurenz Albe
В списке pgsql-general по дате отправления