Myslím, že váš problém není CONVERT_TZ , ale FROM_UNIXTIME .
FROM_UNIXTIME bere jako argument celé číslo - což znamená 32 bitů.
Pokud použijete dnešní unixové časové razítko:1480546792 , posunuto doprava o 24 bitů – právě překračujete 32bitový limit pro platný parametr na unix_time .
from_unixtime dokáže zpracovat pouze parametry do 2147483647 - Což znamená, že to funguje až do 2038-01-19 04:14:07
S tímto problémem jsem se také setkal a od roku 2002 je oprava tohoto problému "ve vývoji".
Dokud to nebude konečně vyřešeno, měli byste použít náhradní řešení pomocí date_add . Místo
from_unixtime (x)
použití
date_add(from_unixtime(0), INTERVAL x second)
Výsledek(y):
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