非常に簡単な必要があります: ミリ秒単位の値を "##:##:##"(時/分/秒)形式に変換します。FROM_UNIXTIME 1時間余分に返す
SELECT
FROM_UNIXTIME(42, "%H:%i:%s") AS pony
,FROM_UNIXTIME(3702, "%H:%i:%s") AS unicorn
戻り
この機能ではありませんタイムゾーンの設定でpony unicorn
01:00:42 02:01:42
、私は方法がわからない... FROM_UNIXTIMEが仕事を行うことができます表示されますので、私はそれを使用しますが、この余分な(wtf)時間を削除します。
3600秒を削除すると...私は別の方法を使用する必要がありますね、私は半ダースの変換を使用する必要があれば、私もそれを手動で行うことができNULL
を出力し、負の値を、生成していますそこに何もシンプルで効率的?
私は、正確なMySQLバージョンを持っていないが、私はとにかくポータビリティの最小値を必要とします。 MySQL 5.xといっしょに動作しています 手動で計算する必要はありますか?
EDIT:所望のフォーマットと
CONCAT(
LPAD(FLOOR((my_column/1000)/3600), 2, '0'), ':',
LPAD(FLOOR(((my_column/1000) % 3600)/60), 2, '0'), ':',
LPAD(FLOOR((my_column/1000) % 60), 2, '0')) AS time
出力:醜いが、ワーキング "溶液" を選んだ 。 例 "3時12分04秒" または "123:00:44" 私は醜いを選ぶ必要があった
私の推測はあなたのローカルタイムゾーンです。たぶん 'SET time_zone = 'UTC';を使っているかもしれません;'助けてください、https://stackoverflow.com/q/18276768/5520354 – C14L
@ C14Lを参照してくださいええ、私はそれが******* daylightssavings(Im FR)、今のところ、タイムゾーンのみを設定しようとすると、すべての結果が** null **になりました。また、 'UTC'はvalide値(エラーが発生)であると思われず、 '+00:00'を使用しなければなりませんでした。 – Balmipour