我有一个叫C_Order
的表。它有列UPDATED
和CREATED
。数据类型均为Date
,一个样本数据
CREATED
= TO_DATE('2015-09-02 14:03:56', 'SYYYY-MM-DD HH24:MI:SS')
UPDATED
= TO_DATE('2015-09-02 14:07:19', 'SYYYY-MM-DD HH24:MI:SS')
我需要在天,小时和分钟方面区分这两个日期。
我尝试使用DateDiff
但它不起作用,我也减去了日期,但我得到的只是0,00123。如何根据天,小时和分钟来计算结果?
答案 0 :(得分:1)
天
select date_col1 - date_col2 from table_name;
小时
select
24 * (date_col1 - date_col2)
table_name;
分钟
select (date_col1 - date_col2) * 1440
from table_name;
答案 1 :(得分:0)
如果您将两列都投放到timestamp
,则从另一列中减去一列的结果为interval
间隔表示以天,小时,分钟和秒为单位的持续时间。
select cast(created as timestamp) - cast(updated as timestamp)
from the_table;
答案 2 :(得分:0)
找到答案,这是:
SELECT to_number( to_char(to_date('1','J') +
("UPDATED" - CREATED), 'J') - 1) days,
to_char(to_date('00:00:00','HH24:MI:SS') +
("UPDATED" - CREATED, 'HH24:MI:SS') time
FROM C_ORDER;