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