diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-09-29 13:48:06 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-09-29 13:48:06 -0400 |
commit | a094c8ff53523e88ff9dd28ad467618039e27b58 (patch) | |
tree | 74e9cb9f1ae1702f2d865481aa684b952f0375a4 /doc/src | |
parent | a6b1f5365d58356b5d42829e9cd89a6c725d7a0a (diff) | |
download | postgresql-a094c8ff53523e88ff9dd28ad467618039e27b58.tar.gz postgresql-a094c8ff53523e88ff9dd28ad467618039e27b58.zip |
Fix make_timestamp[tz] to accept negative years as meaning BC.
Previously we threw an error. But make_date already allowed the case,
so it is inconsistent as well as unhelpful for make_timestamp not to.
Both functions continue to reject year zero.
Code and test fixes by Peter Eisentraut, doc changes by me
Discussion: https://postgr.es/m/13c0992c-f15a-a0ca-d839-91d3efd965d9@2ndquadrant.com
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/func.sgml | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 461b748d890..62dd7382303 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -8939,6 +8939,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); </para> <para> Create date from year, month and day fields + (negative years signify BC) </para> <para> <literal>make_date(2013, 7, 15)</literal> @@ -9004,6 +9005,7 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); </para> <para> Create timestamp from year, month, day, hour, minute and seconds fields + (negative years signify BC) </para> <para> <literal>make_timestamp(2013, 7, 15, 8, 15, 23.5)</literal> @@ -9027,12 +9029,18 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); </para> <para> Create timestamp with time zone from year, month, day, hour, minute - and seconds fields; if <parameter>timezone</parameter> is not - specified, the current time zone is used + and seconds fields (negative years signify BC). + If <parameter>timezone</parameter> is not + specified, the current time zone is used; the examples assume the + session time zone is <literal>Europe/London</literal> </para> <para> <literal>make_timestamptz(2013, 7, 15, 8, 15, 23.5)</literal> <returnvalue>2013-07-15 08:15:23.5+01</returnvalue> + </para> + <para> + <literal>make_timestamptz(2013, 7, 15, 8, 15, 23.5, 'America/New_York')</literal> + <returnvalue>2013-07-15 13:15:23.5+01</returnvalue> </para></entry> </row> |