写一个oracle数据库的同时算出多少天多少小时的SQL语句
时间: 2023-06-13 19:05:26 浏览: 144
假设有一个表名为`TABLE_NAME`,其中包含两个日期类型的列`START_DATE`和`END_DATE`,可以使用以下SQL语句来计算两个日期之间的天数和小时数:
```
SELECT
TRUNC(END_DATE - START_DATE) AS DAYS,
TRUNC((END_DATE - START_DATE) * 24) - (TRUNC(END_DATE - START_DATE) * 24) AS HOURS
FROM
TABLE_NAME;
```
解释:
- `TRUNC(END_DATE - START_DATE)`计算出两个日期之间的天数,使用`TRUNC`函数将其截断为整数。
- `(END_DATE - START_DATE) * 24`计算出两个日期之间的小时数。
- `TRUNC((END_DATE - START_DATE) * 24)`计算出两个日期之间的小时数,并将其截断为整数。
- `(TRUNC(END_DATE - START_DATE) * 24)`计算出两个日期之间的天数所对应的小时数。
- `TRUNC((END_DATE - START_DATE) * 24) - (TRUNC(END_DATE - START_DATE) * 24)`计算出两个日期之间的小时数,去掉天数所对应的小时数,得到剩余的小时数。
阅读全文