- ベストアンサー
文字型で入っている時間を合計する方法について
プログラミング初心者です。Oracleを使っています。 現在、文字型で入っている時間(TIME)を合計して出す方法を考えています。 書式はHH24:MIであり、例えば08:30という風にテーブルには入っています。 これらの列を合計し、合計が160時間ならば160:00と出したいのですが、方法が分かりません。 SUMで合計が出せるようにTO_NUMBERに入れようとしたのですが、変換することができませんでした。 非常に初歩的な質問だとは思いますが、質問できる人がいないので、分かる方がいれば是非お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
TO_NUMBERが出来なかったのは、文字であるコロン(:)が入っているからですね。 日付型のSUMはできなかったと思います(間違っていたらごめんなさい)ので、時と分を分けて合計する必要があるかと思います。 SELECT __TO_CHAR(V1.hour + TRUNC(V1.min / 60)) + ':' + TO_CHAR(MOD(V1.min, 60), 'FM00') FROM (SELECT __SUM(TO_NUMBER(SUBSTR(string, 1, 2))) hour, __SUM(TO_NUMBER(SUBSTR(string, 3, 2))) min )V1
お礼
SUBSTRで時と分に分けて計算すればできました。 言われてみれば当然と言えば当然なのですが、初心者の私にはその発想が出てきませんでした。 回答ありがとうございます。