On Mon, 22 Nov 2004, David Schweikert wrote: > On Sun, Nov 21, 2004 at 20:10:08 -0500, Tom Lane wrote: > > I'm not entirely convinced this is a bug. I get the right answer from > > > > regression=# select to_number('001,000', '999,999') ; > > to_number > > ----------- > > 1000 > > (1 row) > > > > It's arguable that to_number() should throw an error when the input > > doesn't match the format, but right now it doesn't ... > > It seems strange to me that to_char(1000,'999,999') works (it returns > 1,000), but the reverse doesn't. > > I want to convert a formatted number with group separators, but I don't > know how many digits it has: should I count the digits myself and adapt > the mask (which is a customization and thus entered by the user)?
No, but I think you're supposed to use FM in such cases. select to_number(1000, 'FM999,999'); ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend