あなたの問題はCONVERT_TZ
ではないと思います 、ただしFROM_UNIXTIME
。
FROM_UNIXTIME
引数として整数を取ります-これは32ビットを意味します。
今日のunix-timestampを使用する場合:1480546792
、右に24ビットシフト-unix_time
の有効なパラメータの32ビット制限を超えています 。
from_unixtime
2147483647
までのパラメータのみを処理できます -つまり、2038-01-19 04:14:07
まで機能します
私もこの問題に遭遇しました。2002年以降、この問題の修正は「開発中」です。
最終的に解決されるまで、date_add
を使用して回避策を使用する必要があります 。
from_unixtime (x)
使用
date_add(from_unixtime(0), INTERVAL x second)
結果:
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