- PR -

データ型

1
投稿者投稿内容
rowakira
会議室デビュー日: 2003/12/02
投稿数: 17
投稿日時: 2003-12-29 16:57
SQL Server 2000でデータベースを作っています。
スポーツ選手のランニングの記録など、何分何秒というようにし、それを用いてさまざまな計算などもしたいのですが、適切な型が見つかりません。
どのようにするとよいのでしょうか?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-12-29 17:14
秒を単位として時間を保存したらどうでしょう(数値型で)。

2分15秒だったら135という風に。
rowakira
会議室デビュー日: 2003/12/02
投稿数: 17
投稿日時: 2003-12-29 17:39
確かにそうするのが手取り早いのですが、何分何秒と出さないと都合が悪いのです。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-12-29 19:41
例えばTABLEXテーブルのTIMEという列であれば

SELECT TRUNC(TIME/60) MINUTE, MOD(TIME, 60) SECOND FROM TABLEX
とか、文字列で欲しいなら
SELECT TO_CHAR(TRUNC(TIME/60)) || '分' || TO_CHAR(MOD(TIME, 60)) || '秒' FROM TABLEX
とかでどうでしょう。(Oracleでしか動作確認してません、適宜読み替えてください)

>何分何秒というようにし、それを用いてさまざまな計算などもしたい
>何分何秒と出さないと都合が悪い
というのは、例えば「3分加算する」などという操作があるということですか?
その場合は単位として秒を使っているので×60してから計算すれば良いわけですが。

具体的に計算というのはどのような処理でしょうか。
rowakira
会議室デビュー日: 2003/12/02
投稿数: 17
投稿日時: 2003-12-29 20:27
何分何秒と直接操作するのは出来ないということですか。
それならば一郎さんのおっしゃる方法でいこうと思います。
秒に換算すれば処理のほうは問題ありません。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)