On Mon, 22 Nov 2004, Stephan Szabo wrote: > 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');
Of course, I don't think the fact that it does that is actually documented in the 7.4 docs now that I look. I must have just run into it through experimentation, so I wonder if that's actually intended behavior or not. ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly