oracle 计算两个不同列的时间差
时间: 2023-11-28 07:06:28 浏览: 95
计算2个时间之间的差
可以使用Oracle的内置函数`NUMTODSINTERVAL`和`ROUND`来计算两个不同列的时间差。例如,如果有一个表`t`,其中包含两个时间戳列`start_time`和`end_time`,可以使用以下查询计算它们之间的时间差:
```
SELECT ROUND((end_time - start_time) * 24 * 60) diff_minutes
FROM t;
```
这将返回两个时间戳之间的分钟数差。如果需要返回其他时间差单位,可以使用`NUMTODSINTERVAL`函数来转换时间差为不同的时间单位。例如,以下查询将返回以小时为单位的时间差:
```
SELECT EXTRACT(HOUR FROM NUMTODSINTERVAL(end_time - start_time, 'DAY')) diff_hours
FROM t;
```
这将返回两个时间戳之间的小时数差。
阅读全文