Corey Huinker <corey.huin...@gmail.com> writes: > Attached is an attempt at an explanation of the edge cases I was > encountering, as well as some examples. If nothing else, the examples will > draw eyes and searches to the explanations that were already there.
I looked this over and have a few thoughts: * I don't think your explanation of the behavior of colon-separated times is quite correct; for example, it doesn't correctly describe this: regression=# select INTERVAL '2:03:04' minute to second; interval ---------- 02:03:04 (1 row) I think the actual rule is that hh:mm:ss is always interpreted that way regardless of the typmod (though we may then drop low-order fields if the typmod says to). Two colon-separated numbers are interpreted as hh:mm by default, but as mm:ss if the typmod is exactly "minute to second". (This might work better in a separate para; the one you've modified here is mostly about what we do with unmarked quantities, but the use of colons makes these numbers not unmarked.) * I'm not sure I would bother with examples for half-broken formats like "2:". People who really want to know about that can experiment, while for the rest of us it seems like adding confusion. * In the same vein, I think your 0002 example adds way more confusion than illumination. Maybe better would be a less contrived offset, say # SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40+00' AT TIME ZONE INTERVAL '3:00:00'; timezone --------------------- 2001-02-16 23:38:40 (1 row) which could be put after the second example and glossed as "The third example rotates a timestamp specified in UTC to the zone three hours east of Greenwich, using a constant interval as the time zone specification". regards, tom lane