Ik denk dat uw probleem niet CONVERT_TZ
is , maar FROM_UNIXTIME
.
FROM_UNIXTIME
neemt een geheel getal als argument - wat 32 bit betekent.
Als u de Unix-tijdstempel van vandaag gebruikt:1480546792
, 24 bit naar rechts verschoven - u overschrijdt net de 32-bits limiet voor een geldige parameter op unix_time
.
from_unixtime
kan alleen parameters verwerken tot 2147483647
- Dat betekent dat het werkt tot 2038-01-19 04:14:07
Ik ben dit probleem ook tegengekomen en sinds 2002 is een oplossing hiervoor "in ontwikkeling".
Totdat het eindelijk is opgelost, moet je een tijdelijke oplossing gebruiken, met behulp van date_add
. In plaats van
from_unixtime (x)
gebruik
date_add(from_unixtime(0), INTERVAL x second)
Resultaat(en):
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