Re: to_char PL/MI fix - Mailing list pgsql-patches
From | Karel Zak |
---|---|
Subject | Re: to_char PL/MI fix |
Date | |
Msg-id | 20030317085622.GC14827@zf.jcu.cz Whole thread Raw |
In response to | Re: to_char PL/MI fix (Karel Zak <zakkr@zf.jcu.cz>) |
Responses |
Re: to_char PL/MI fix
|
List | pgsql-patches |
What do with this patch? I think commit to CVS :-) Karel On Tue, Feb 25, 2003 at 09:38:54AM +0100, Karel Zak wrote: > On Mon, Feb 24, 2003 at 08:16:07PM +0100, Peter Eisentraut wrote: > > Karel Zak writes: > > > > > Peter found bug in the to_char() routine for PL/MI options. This > > > patch fix it -- but this patch doesn't contains tests or docs fixes. I > > > will send it later. > > > > I think there is still a problem with PL. It puts the '+' in aligned > > position and '-' anchored to the number. Is that correct? If PL were to > > Yes, it's correct. The MI/PL/SG is PostgreSQL extension, the Oracle > knows very limited version of MI only -- it means we can implement it > by our idea. > > > behave like the converse of MI and like it is documented, it would put a > > '+' in aligned position and never put a '-' anywhere. Also, due to this > > apparent problem, PL creates extra whitespace in front of the number. > > PL shows '+' or ' ' on wanted position and not disable '-' beacuse > the negative number without '-' is other number. I think disable '-' > for PL will produce mazy outputs (there is not problem implement it, > but I don't think it's good idea, if you need something like this you > can use abs() or define format that handle '-'). > > The anchored '-' is disabled only if output format contains other option which > handle '-' (like S/SG/MI). > > The extra space for PL is for anchored '-', if format option contains MI or SG > this space is not used. > > select to_char(x, 'PL9999.999') as pl, to_char(x, 'PLMI9999.999') as plmi from num; > pl | plmi > ------------+------------ > + 123.000 | + 123.000 > -123.000 | - 123.000 > -1231.000 | -1231.000 > + 1231.000 | + 1231.000 > + 1.900 | + 1.900 > -1.900 | - 1.900 > -.900 | - .900 > + .900 | + .900 > + .945 | + .945 > -.945 | - .945 > -150.945 | - 150.945 > + 150.945 | + 150.945 > > in the 'pl' column is '-' angored to number because is there no other way > how show it. > > > test=# select to_char(x, '"Number:"PL9999.999MI') as pl from num; > pl > ------------------- > Number:+ 123.000 > Number: 123.000- > Number: 1231.000- > Number:+1231.000 > Number:+ 1.900 > Number: 1.900- > Number: .900- > Number:+ .900 > Number:+ .945 > Number: .945- > Number: 150.945- > Number:+ 150.945 > > there is not extra space beacuse MI is used. > > Karel > > -- > Karel Zak <zakkr@zf.jcu.cz> > http://home.zf.jcu.cz/~zakkr/ > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html -- Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/
pgsql-patches by date: