Re: BUG #6028: age() function output contracts "months", but not any other units.
От | Bruce Momjian |
---|---|
Тема | Re: BUG #6028: age() function output contracts "months", but not any other units. |
Дата | |
Msg-id | 201105181940.p4IJeiu23136@momjian.us обсуждение исходный текст |
Ответ на | BUG #6028: age() function output contracts "months", but not any other units. ("Martin A. Brooks" <martin@antibodyMX.net>) |
Ответы |
Re: BUG #6028: age() function output contracts "months", but
not any other units.
|
Список | pgsql-bugs |
Martin A. Brooks wrote: > > The following bug has been logged online: > > Bug reference: 6028 > Logged by: Martin A. Brooks > Email address: martin@antibodyMX.net > PostgreSQL version: 9.0.4 > Operating system: Debian/GNU Linux 6 > Description: age() function output contracts "months", but not any > other units. > Details: > > Hi > > postgres=# select age(now(),'1973-12-20'::timestamp); > age > ----------------------------------------- > 37 years 4 mons 28 days 15:33:49.041831 > (1 row) > > > Note "mons" and not "months". And if "mons", why not "yrs" and "dys"? I was hoping someone else knew a good answer to this question, but now that no one replied --- I have no idea on it was done this way. I think this code came from Berkeley. My guess is that the spelling was based on the libc struct tm field names: int tm_mday; /* day of month (1 - 31) */ int tm_mon; /* month of year (0 - 11) */ int tm_year; /* year - 1900 */ The only clear answer I can think of is that "month" has five letters, and "year" and "day" have less then five letters. :-| Does anyone feel this is worth changing? I am concerned such a change would break many user applications. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
В списке pgsql-bugs по дате отправления: