Hi
ij> SELECT * FROM t ORDER BY key_col;
KEY_COL |DESC_COL |TS_STRING |TS
-------------------------------------------------------------------------------------------------------
1 |NULL |2017-03-12 01:48:00.000
|2017-03-12 01:48:00.0
2 |odd |2017-03-12 02:00:00.000
|2017-03-12 03:00:00.0
3 |odd |2017-03-12 02:48:00.000
|2017-03-12 03:48:00.0
4 |NULL |2017-03-12 03:00:00.000
|2017-03-12 03:00:00.0
This looks like right behavior.
In 2017 DST started on March 12, 2AM when clock was forwarded to 3AM. So
the time between 2AM
to 3AM didn't exist. Looks like while adjusting for timezone and DST
timestamp is compensating for the
that 1 hour hence 2AM becoming 3AM and 2:48 AM is becoming 3:48AM.
However 3AM was a valid time on that day so there is no way to find out
if any adjustment is needed and is being left untouched.
5 |NULL |2017-11-05 01:48:00.000 |2017-11-05 01:48:00.0
6 |NULL |2017-11-05 02:00:00.000
|2017-11-05 02:00:00.0
7 |NULL |2020-03-08 01:48:00.000
|2020-03-08 01:48:00.0
8 |odd |2020-03-08 02:00:00.000
|2020-03-08 03:00:00.0
Here again 2AM changes into 3AM because 2AM never existed (on March 08,
2020)
as the clocks were forwarded by 1 hour.
thanks
anurag