> -----Original Message-----
> From: Kevin Grittner [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 31, 2008 9:48 AM
> To: Roberts, Jon; pgsql-hackers@postgresql.org
> Subject: Re: [HACKERS] timestamp format bug
> 
> >>> On Thu, Jan 31, 2008 at  9:34 AM, in message
> <[EMAIL PROTECTED]>,
> "Roberts,
> Jon" <[EMAIL PROTECTED]> wrote:
> > select to_char(date, 'yyyy-mm-dd hh24:mi:ss.ms') as char,
> >        date
> >   from (select timestamp'2008-01-30 15:06:21.560' as date) sub
> >
> > "2008-01-30 15:06:21.560";"2008-01-30 15:06:21.56"
> >
> > These two fields should be consistent because they should be formatted
> > the same way.
> 
> Why would you think that?
> 
> I would expect the timestamp to be presented with one to nine
> digits to the right of the decimal point, depending on the value.

I expect the query to return either:
"2008-01-30 15:06:21.560";"2008-01-30 15:06:21.560"

or:
"2008-01-30 15:06:21.56";"2008-01-30 15:06:21.56"

The default timestamp format appears to be yyyy-mm-dd hh24:mi:ss.ms but it
doesn't follow this for milliseconds.  It truncates the trailing zero for
timestamps and it does not truncate the trailing zero when cast as a
character.  

I don't care which standard should be adopted but it should be the same.

> 
> I can think of a couple database products which only go to three
> decimal positions, and always show three, but that's hardly a
> standard.


Oracle and MS SQL Server are consistent in this.



Jon

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to