DROP TABLE IF EXISTS t1; show variables like "system_time_zone"; Variable_name Value system_time_zone MET select @a:=FROM_UNIXTIME(1); @a:=FROM_UNIXTIME(1) 1970-01-01 01:00:01 Warnings: Warning 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'. select unix_timestamp(@a); unix_timestamp(@a) 1 CREATE TABLE t1 (ts int); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 03:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 02:59:59')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 03:00:00')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 03:59:59')); INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 04:00:01')); SELECT ts,from_unixtime(ts) FROM t1; ts from_unixtime(ts) 1035673200 2002-10-27 01:00:00 1035680400 2002-10-27 02:00:00 1035684000 2002-10-27 03:00:00 1035680400 2002-10-27 02:00:00 1035673200 2002-10-27 01:00:00 1035680400 2002-10-27 02:00:00 1048986000 2003-03-30 03:00:00 1048986000 2003-03-30 03:00:00 1048989599 2003-03-30 03:59:59 1048989601 2003-03-30 04:00:01 DROP TABLE t1; CREATE TABLE t1 (ts timestamp); INSERT IGNORE INTO t1 (ts) VALUES ('2003-03-30 01:59:59'), ('2003-03-30 02:59:59'), ('2003-03-30 03:00:00'); Warnings: Warning 1299 Invalid TIMESTAMP value in column 'ts' at row 2 DROP TABLE t1; select unix_timestamp('1970-01-01 01:00:00'), unix_timestamp('1970-01-01 01:00:01'), unix_timestamp('2038-01-19 04:14:07'), unix_timestamp('2038-01-19 04:14:08'); unix_timestamp('1970-01-01 01:00:00') unix_timestamp('1970-01-01 01:00:01') unix_timestamp('2038-01-19 04:14:07') unix_timestamp('2038-01-19 04:14:08') 0 1 2147483647 0 CREATE TABLE t1 (c1 TIMESTAMP); SET TIME_ZONE = '+00:00'; SET explicit_defaults_for_timestamp=OFF; Warnings: Warning 1287 'explicit_defaults_for_timestamp' is deprecated and will be removed in a future release. INSERT INTO t1 VALUES('2019-10-27 00:47:42'), ('2019-10-27 00:47:42'); INSERT INTO t1 VALUES('2019-10-27 01:47:42'), ('2019-10-27 01:47:42'); SET TIME_ZONE = 'SYSTEM'; SELECT DISTINCT c1 FROM t1; c1 2019-10-27 02:47:42 SELECT COUNT(*) FROM t1 GROUP BY c1; ERROR HY000: Grouping on temporal is non-deterministic for timezones having DST. Please consider switching to UTC for this query. SET sql_mode=''; SELECT COUNT(*) FROM t1 GROUP BY c1; ERROR HY000: Grouping on temporal is non-deterministic for timezones having DST. Please consider switching to UTC for this query. SET sql_mode=DEFAULT; SET explicit_defaults_for_timestamp=ON; DROP TABLE t1;