重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

SQLserver の最新バージョンを使ってDB設計を行っています。
時間数を管理するためのテーブルの必要性が生じました。
例えば、累積時間数をレコード追記型で格納するようなイメージです。
  例 レコード1 "12時間34分06秒"
    レコード2 "36時間42分00秒" という様に格納するニーズがあります。

ここで、複数のレコードの合計時間数も計算(というかSQL検索分で抽出)する必要があります。
上記の例ですと、合計時間数は、当然に "49時間16分06秒" としたい訳です。
・時刻タイムスタンプを管理する必要は全くありません。
・秒までの管理が必要か、分までの管理で良いのかは、今のところ未だ判りません
・各レコードには、上限で恐らく、48時間程度を上限とするデータが格納される予定です。
・複数のレコードを合計すると申しましたが、合計値の上限は未だなんとも言えません。

このような計算を必要とするテーブルなのですが、管理項目のデータ型は、何を用いるのが最適なのでしょうか?何卒、ご指導をお願い致します。

A 回答 (1件)

秒数で格納してみては?


それなら int でいけるでしょ。
    • good
    • 0
この回答へのお礼

さっそくにありがとうございます!
なるほど。確かに intで秒数で持っておけば演算自由ですね。
そこまで割り切れば、DBのデータ格納形式としては nvarcharで読みやすい形式(例:10:10:00の上記の様に)で格納しておいて、演算する際に、一度、秒数に変換して演算すれば良いですね。
ありがとうございます。

お礼日時:2017/12/18 15:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す