Creo que tu problema no es CONVERT_TZ , pero FROM_UNIXTIME .
FROM_UNIXTIME toma un número entero como argumento, lo que significa 32 bits.
Si toma la marca de tiempo de Unix de hoy:1480546792 , desplazado a la derecha 24 bits:simplemente está excediendo el límite de 32 bits para un parámetro válido en unix_time .
from_unixtime solo puede manejar parámetros hasta 2147483647 - Lo que significa que funciona hasta 2038-01-19 04:14:07
También me he encontrado con este problema, y desde 2002 se está "desarrollando" una solución para esto.
Hasta que finalmente se resuelva, debe usar una solución alternativa, usando date_add . En lugar de
from_unixtime (x)
usar
date_add(from_unixtime(0), INTERVAL x second)
Resultado(s):
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