BUG #16472: Bug in to_timestamp ?
The following bug has been logged on the website:
Bug reference: 16472
Logged by: jesvh
Email address: jesvh.cht@gmail.com
PostgreSQL version: Unsupported/Unknown
Operating system: windows 10
Description:
Hi :
I execute a update SQL as below :
update Table1 set date1=to_timestamp('19790701000000', 'YYYYMMDDHH24MISS')
where .....
date1 is a timestamp type column, the result in DB is 1979-07-01 01:00:00
where come from that '01' hour ?
but if set to other date value, it works correct ....
Is it a special bug ?
Hi!
On Mon, Jun 1, 2020 at 1:38 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
Hi :
I execute a update SQL as below :
update Table1 set date1=to_timestamp('19790701000000', 'YYYYMMDDHH24MISS')
where .....date1 is a timestamp type column, the result in DB is 1979-07-01 01:00:00
where come from that '01' hour ?but if set to other date value, it works correct ....
Is it a special bug ?
It's likely related to clock shift in your timezone.
What is your timezone and PostgreSQL version? You can figure out them
using following queries.
show timezone;
select version();
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Alexander Korotkov <a.korotkov@postgrespro.ru> writes:
On Mon, Jun 1, 2020 at 1:38 PM PG Bug reporting form
<noreply@postgresql.org> wrote:I execute a update SQL as below :
update Table1 set date1=to_timestamp('19790701000000', 'YYYYMMDDHH24MISS')
where .....
date1 is a timestamp type column, the result in DB is 1979-07-01 01:00:00
where come from that '01' hour ?
It's likely related to clock shift in your timezone.
July 1 would be an odd time for a seasonal DST shift ... but quickly
thumbing through the tzdata files, I see one for Asia/Taipei on that date
in 1979. So I guess that the OP is using that zone, and the answer to the
question is "midnight of that date did not exist in Taiwan; their clocks
shifted forward from 23:59:59 to 01:00:00".
regards, tom lane
timezone = Asia/Taipei
version = PostgreSQL 9.6rc1, compiled by Visual C++ build 1800, 64-bit
Tom Lane <tgl@sss.pgh.pa.us> 於 2020年6月2日 週二 上午12:18寫道:
Show quoted text
Alexander Korotkov <a.korotkov@postgrespro.ru> writes:
On Mon, Jun 1, 2020 at 1:38 PM PG Bug reporting form
<noreply@postgresql.org> wrote:I execute a update SQL as below :
update Table1 set date1=to_timestamp('19790701000000','YYYYMMDDHH24MISS')
where .....
date1 is a timestamp type column, the result in DB is 1979-07-0101:00:00
where come from that '01' hour ?
It's likely related to clock shift in your timezone.
July 1 would be an odd time for a seasonal DST shift ... but quickly
thumbing through the tzdata files, I see one for Asia/Taipei on that date
in 1979. So I guess that the OP is using that zone, and the answer to the
question is "midnight of that date did not exist in Taiwan; their clocks
shifted forward from 23:59:59 to 01:00:00".regards, tom lane