- 締切済み
【MySQL】時間を格納したり計算するためには?
○時△分□秒という“時刻”ではなく ○時間△分□秒という“時間”を格納したり足し算したりしたいのですが テーブル作成時にそのような型はないでしょうか? 時間と分と秒を別々のintに格納して 加算時、分や秒が60を超えたら時間に1を加えて・・・ みたいな面倒を考えている次第ですが もし良い手法がありましたらご教示願います。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
noname#86752
回答No.2
日本MySQLユーザ会のサイトにある比較的新しいバージョンの日本語マニュアルによると TIME 値の範囲は '-838:59:59' から '838:59:59' の範囲です。時の部分がこんなに大きいのは、TIME 型は一日すなわち24時間以内の時刻を表現するのに用いられるだけではなく経過時間や二つの事象の間隔 (どちらも24時間を越えたり、負の数になる場合もあります)を表現することもあるからです。 だそうです。この範囲の値ではだめですか?
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
時間分秒に分ける必要もなく 経過秒として管理するのが普通ですよね? 通常の時間だって基準日時からの経過秒ですから
お礼
データベース自体初心者なのですが、 テーブルから時間の値をとりだして単純に足し算すると 時間部分だけ加算され、分と秒が無視されてしまいまして。 100:00:00h前後の値を格納して、 それらを、条件をもとに集計をとりたいと思っておりますので 840hが限度となると難しいかもしれません。 やはり整数で取り扱うほかないのでしょうか。 お返事ありがとうございました。