Search Postgresql Archives

Re: Why length(to_char(1::integer, '9')) = 2 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/09/2011 09:59 AM, Dmitriy Igrishin wrote:


2011/3/9 Adrian Klaver <adrian.klaver@xxxxxxxxx
<mailto:adrian.klaver@xxxxxxxxx>>

    On Wednesday, March 09, 2011 5:34:41 am Dmitriy Igrishin wrote:

     >
     > But I am missing something or there is a documentation inaccuracy:
     >
    http://www.postgresql.org/docs/9.0/static/functions-formatting.html#FUNCTIO
     > NS-FORMATTING-NUMERICMOD-TABLEsays: fill mode (suppress padding
    blanks and
     > zeroes)
     >
     > Test:
     > dmitigr=> select to_char(12,'FM0009');
     >  to_char
     > ---------
     >  0012
     >
     > dmitigr=> select length(to_char(12,'FM0009'));
     >  length
     > --------
     >       4
     >
     > So, FM suppresses only padding blanks not zeroes...
     >
     > Any comments?
     >

    test(5432)aklaver=>select to_char(12,'9999');
      to_char
    ---------
        12

    test(5432)aklaver=>select to_char(12,'FM9999');
      to_char
    ---------
      12

    It is a little confusing, but you asked for the 0 in your
    specification so they
    are not considered padding.

    Look at the examples in the table listed below to get an idea of
    what I am
    talking about.
    http://www.postgresql.org/docs/9.0/static/functions-formatting.html
    Table 9-25

Yes, I see, thanks!

I just talking about phrase "fill mode (suppress padding blanks and zeroes)"
in the documentation should be rephrased to "fill mode (suppress padding
blanks)".

To get technical it means suppress unspecified padding O's. See below for example.


Or I misunderstood what is "padding zeroes" without explicitly
specification "0" pattern in the format format template...

This combination from the example table shows that:

to_char(-0.1, 'FM9.99')	'-.1'
to_char(0.1, '0.9')	' 0.1'

The 0 in 0.1 is not strictly needed, so if you use FM it will be suppressed.





    --
    Adrian Klaver
    adrian.klaver@xxxxxxxxx <mailto:adrian.klaver@xxxxxxxxx>




--
// Dmitriy.




--
Adrian Klaver
adrian.klaver@xxxxxxxxx

--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux