MySQLのSEC_TO_TIMEの上限

SEC_TO_TIMEは秒数から時間に変換できるMySQLの関数ですが、どうやら変換できる秒数に制限があるようです。

SEC_TO_TIME関数はSEC_TO_TIME(SECONDS)という形式なのですが、引数SECONDSがいくら増えても838:59:59で止まってしまいました。
どうやらこれがSEC_TO_TIMEの上限のようです。
なのでSQL文では秒から時間への変換は行わず、PHPなどのスクリプト側で処理するしかないようです。
[php]function sec2hour($seconds)
{
$hours = floor($seconds / 3600);
$minutes = floor(($seconds / 60) % 60);
$seconds = $seconds % 60;

$hms = sprintf(“%02d時間%02d分”, $hours, $minutes);

return $hms;
}[/php]

スポンサーリンク
レクタングル大




フォローする

スポンサーリンク
レクタングル大