ゲームの期間を保存したいと思います。 1:43:00
または0:32:12
のようなものです。時間をデータベースに保存する場合は、どのデータ型を使用しますか?
Microsoft SQL Server 2008 R2を使用している場合、どのデータ型を選択すればよいですか?
ゲームの期間を保存したいと思います。 1:43:00
または0:32:12
のようなものです。時間をデータベースに保存する場合は、どのデータ型を使用しますか?
Microsoft SQL Server 2008 R2を使用している場合、どのデータ型を選択すればよいですか?
次のいずれかの
またはsmalldatetime
として開始時刻と終了時刻を格納し、私はsmalldatetime
などの店舗2つのレコードを言うので、あなたはしなくても24時間以上行くのオプションがありますデータ構造を変更します。
[SQL Serverでビデオ継続時間を記憶]の開始と終了を記憶することが可能と重複datetimeは予期しない結果(夏時間、うるう秒)を生成する可能性があります。整数を使用する他の答えを使用する方が良いです。 – Aaroninus
私はちょうど秒数を保存します。通常は2つの日付を格納するだけで十分ですが、ゲーム自体またはセッションごとに追跡するものと思われます。
は、整数型を使用し、そしてあなたが(この場合、秒)を気精度の最小単位の数量を格納します。あなたのクライアントプログラムコードは、それをフォーマットすることを心配する必要があります。したがって、2つのサンプル値の場合、格納されるデータは6180
と1932
になります。値を表示するには
、(例えば)C#のは、ゲームの開始時刻と終了時刻を保存する方がよいし、必要に応じてその場で時間を計算する可能性がありますTimeSpan.FromSeconds().ToString()
良いアプローチ。私は、列記の名前に時間の粒度を含めて、自己文書化することにします。例: 'run_seconds_'です。 –
のようなものを使用します。こうすることで、期間を明示的に更新することなく、開始時間と終了時間を変更することができます。
あなたの質問には、私はintデータ型を使用し、分数で期間を格納します。数分で保存することで、簡単に数時間に変換できます。 DATEDIFF関数はすでにINTを返しているので、追加の操作は必要ありません。