aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2020-09-29 13:48:06 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2020-09-29 13:48:06 -0400
commita094c8ff53523e88ff9dd28ad467618039e27b58 (patch)
tree74e9cb9f1ae1702f2d865481aa684b952f0375a4 /doc/src
parenta6b1f5365d58356b5d42829e9cd89a6c725d7a0a (diff)
downloadpostgresql-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.sgml12
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>