RE: BUG #15091: to_number() returns incorrect value
От | Michael Aiello |
---|---|
Тема | RE: BUG #15091: to_number() returns incorrect value |
Дата | |
Msg-id | cef9856f0b854bf6820fa48f1924a901@asg.com обсуждение исходный текст |
Ответ на | BUG #15091: to_number() returns incorrect value (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #15091: to_number() returns incorrect value
|
Список | pgsql-bugs |
Hi Tom, Andrew, Could you let me know whether this issue will be addressed by a bug fix, and if so which version(s) would be targeted andabout how long it will take? We need this information for our own planning purposes. Thanks Mike -----Original Message----- From: Michael Aiello Sent: Tuesday, February 27, 2018 11:55 AM To: 'Tom Lane' <tgl@sss.pgh.pa.us>; Andrew Gierth <andrew@tao11.riddles.org.uk> Cc: pgsql-bugs@lists.postgresql.org Subject: RE: BUG #15091: to_number() returns incorrect value Returning a truncated integer result seems preferrable to reporting an error to me. Do you think this issue will be addressed with a fix? If so, what version would it be made in, and roughly how long woulda fix take? Thanks Mike -----Original Message----- From: Tom Lane [mailto:tgl@sss.pgh.pa.us] Sent: Monday, February 26, 2018 3:32 PM To: Andrew Gierth <andrew@tao11.riddles.org.uk> Cc: Michael Aiello <michael.aiello@asg.com>; pgsql-bugs@lists.postgresql.org Subject: Re: BUG #15091: to_number() returns incorrect value Andrew Gierth <andrew@tao11.riddles.org.uk> writes: > "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes: > Tom> Tested at > Tom> > http://TOC.ASG.COM:8080/?dmVyPTEuMDAxJiY0ZjQwMTdiZDU1NWNhNDc0ND01QTk0N > zBERl84MjUwM18yNTkwXzEmJjdlNzhlMTJhMTFhZTQ4Nz0xMjIzJiZ1cmw9aHR0cCUzQSU > yRiUyRnJleHRlc3RlciUyRWNvbSUyRmwlMkZvcmFjbGUlNUZvbmxpbmUlNUZjb21waWxlc > g== > The problem is that this tester is defaulting to a German locale and > using . as a thousands separator and , as decimal point, as shown by > this query: > select * from nls_session_parameters > where parameter in ('NLS_TERRITORY','NLS_NUMERIC_CHARACTERS') Oh, thanks ... I was wondering what locale it had chosen, but did not know how to find out. > If you do > ALTER SESSION SET NLS_TERRITORY = 'AMERICA' \\ SELECT > to_number('123.0', 'FM9999999') FROM DUAL then the result is, as > expected, > ORA-01722: invalid number Hmm. That doesn't seem too helpful. Between throwing an error and returning "123", seems like the latter would be better. Do we want to be bug-compatible here? regards, tom lane
В списке pgsql-bugs по дате отправления: