"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:
> Going from precision 3 down to 0 - note the bug in (1). It always displays
> a trailing zero.
It's not a bug, it's a feature, or at least Tom Lockhart once thought so.
See TrimTrailingZeros() in datetime.c: /* chop off trailing zeros... but leave at least 2 fractional digits */
I don't recall the history behind that choice, and I'm disinclined to
mess with it without knowing why it was set up to do that. I have a
feeling it might have something to do with compatibility with some
non-Postgres code.
regards, tom lane