Re: WIP: to_char, support for EEEE format - Mailing list pgsql-hackers

From Brendan Jurd
Subject Re: WIP: to_char, support for EEEE format
Date
Msg-id 37ed240d0907300941g3ddd5e5am8875f4593e1c02ef@mail.gmail.com
Whole thread Raw
In response to Re: WIP: to_char, support for EEEE format  (Euler Taveira de Oliveira <euler@timbira.com>)
Responses Re: WIP: to_char, support for EEEE format  (Euler Taveira de Oliveira <euler@timbira.com>)
List pgsql-hackers
2009/7/31 Euler Taveira de Oliveira <euler@timbira.com>:
> Brendan Jurd escreveu:
>> Limiting to two exponent digits also has the nice property that the
>> output always matches the length of the format pattern:
>>
>> 9.99EEEE
>> 1.23E+02
>>
> I don't think neglecting to represent a valid number is a "nice property".
> What does the length of format pattern have to do with output format?

Most of the format patterns in to_char() are chosen to match the
length of their expected output.  The output of "DD" is two
characters, "Mon" is three and so on.

That's why the scientific notation pattern is "EEEE" and not just "E".

There're certainly exceptions though.  "SG" is actually output as one
character, and "YYYY" expands to however many digits you happen to
have in your year value.

In fact "YYYY" is probably our closest analogy in to_char() to the
number of digits in the exponent.  In almost all cases, it will come
out as four characters but for extraordinarily large values it will
occupy more characters as necessary.

This breaks fixed-width, but is probably a better outcome than failure
to represent the value.

If we apply the same logic to EEEE then it should expand to admit
whatever exponent was given to it.

Cheers,
BJ


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: WIP: to_char, support for EEEE format
Next
From: Tom Lane
Date:
Subject: Re: WIP: to_char, support for EEEE format