小编典典

时间戳记的总小时数

sql

我有一个user_id字段,time字段。该time字段是timestamp数据类型。用户ID可能有很多日志时间。我想为用户找到以小时和分钟为单位的时间之和。

我已经设法将小时数和分钟数转换为小时数和分钟数,但是我无法将每个ID的小时数相加。以下是我使用的代码。

select user_id, to_char (time_loged)as "Totalhours "
from logtable

阅读 216

收藏
2021-05-16

共1个答案

小编典典

这是Oracle使用to_char()或to_date()转换时间戳的示例。您可以删除日期格式,而将时间格式仅将时间分隔为分钟,秒,然后使用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()…

我所有的示例都经过测试。复制并粘贴最后一个示例,以查看与您的代码的不同之处。阅读我的评论…

2021-05-16