我有一个2列的表,EXECUTION_TIMESTAMP
,EFFECTIVE_DATE
作为日期。
我想把两列之间的差表示为小数天。例如1.5天。
以下是唯一的方法吗?一定有更好的办法吧?
select EXECUTION_TIMESTAMP - EFFECTIVE_DATE,
extract(day from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE))
+(extract(hour from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE)))/24
+extract(minute from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE))/1400
+extract(second from (EXECUTION_TIMESTAMP - EFFECTIVE_DATE))/86400
from a_table
3条答案
按热度按时间pobjuy321#
试着减去这两个值
mbjcgjjk2#
看一下这个例子:
它将给予输出
1.5
。wj8zmpe13#
如果你使用时间戳,你需要将它们转换为日期,例如。
ROUND(CAST(timestamp1 as DATE) - CAST(timestamp2 as DATE), 1)