Saya pikir masalah Anda bukan CONVERT_TZ , tapi FROM_UNIXTIME .
FROM_UNIXTIME mengambil Integer sebagai argumen - yang berarti 32 bit.
Jika Anda menggunakan stempel waktu unix hari ini:1480546792 , digeser ke kanan 24 bit - Anda baru saja melampaui batas 32-bit untuk parameter yang valid pada unix_time .
from_unixtime hanya dapat menangani parameter hingga 2147483647 - Artinya, ini berfungsi hingga 2038-01-19 04:14:07
Saya juga mengalami masalah ini, dan sejak 2002 perbaikan untuk ini "sedang dikembangkan".
Sampai akhirnya diselesaikan, Anda harus menggunakan solusi, menggunakan date_add . Alih-alih
from_unixtime (x)
gunakan
date_add(from_unixtime(0), INTERVAL x second)
Hasil:
SELECT from_unixtime (2147483647); //2038-01-19 04:14:07
SELECT from_unixtime (2147483648); //NULL
SELECT date_add(from_unixtime(0), Interval 2147483647 second) //2038-01-19 04:14:07
SELECT date_add(from_unixtime(0), Interval 2147483648 second) //2038-01-19 04:14:08