私はuser_id
畑とtime
畑を持っています。time
フィールドはtimestamp
データ型です。ユーザー ID には多くのログ時間が含まれる場合があります。ユーザーの時間と分の間の合計を見つけたいです。
時間と分に変換することはできましたが、各 ID の時間を合計することはできません。以下は私が使用したコードです。
select user_id, to_char (time_loged)as "Totalhours "
from logtable
私はuser_id
畑とtime
畑を持っています。time
フィールドはtimestamp
データ型です。ユーザー ID には多くのログ時間が含まれる場合があります。ユーザーの時間と分の間の合計を見つけたいです。
時間と分に変換することはできましたが、各 ID の時間を合計することはできません。以下は私が使用したコードです。
select user_id, to_char (time_loged)as "Totalhours "
from logtable
これは、to_char()またはto_date()を使用してタイムスタンプを変換するOracleの例です。日形式を削除して、時間形式を分、秒に分割し、to_number()を使用してそれらを数値として合計するだけの時間形式を残すことができます。
SELECT to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'DD-MON-YYYY HH24:MI:SS') start_date
FROM dual
/
SQL> 14-FEB-2013 10:07:47
SELECT to_date(to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'DD-MON-YYYY HH24:MI:SS'), 'DD-MON-YYYY HH24:MI:SS') start_date
FROM dual
/
SQL> 2/14/2013 10:07:47 AM
SELECT to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'HH24') start_date
FROM dual
/
SQL> 10
SELECT to_number(to_char(to_timestamp ('2013-02-14 10:07:47.000' , 'YYYY-MM-DD HH24:MI:SS.FF'),'MI')) minutes
FROM dual
/
SQL> 7
あなたの場合、データはすでにタイムスタンプですが、コードで日付を_timestampに変換する必要がありました。to_timestamp変換を無視し、to_char()、to_number()..を使用するだけです。
私の例はすべて常にテストされています。最後の例をそのままコピーして貼り付け、コードとの違いを確認してください。私のコメントを読んでください...