如何获取一个时间范围内跨越的天数?大概是这样的需求:比如 今天晚上23点,到后天早上1点。
虽然经历了1+24+1=26小时,但也算3天。
环境是Oracle里的。谢谢。
虽然经历了1+24+1=26小时,但也算3天。
环境是Oracle里的。谢谢。
解决方案 »
- ORACLE PERFORMANCE MONITOR tools
- 分页查询大数据量越往后越慢如何解决及索引如何构建比较合理?
- SQL 加不了数据! 急```急````````
- 左连接问题
- 关于Oracle有没有这样的函数
- No error information available: DB_E_BADACCESSORTYPE(0x80040E4B).
- 在oracle9i的哪个工具里可以对表进行手工输入数据?
- ORA-03127: 在活动操作结束之前不允许进行新的操作
- 一个关于主键、外键的问题?
- 能难到大神吗?两个字段,一亿条记录的csv文件,如何快速导入到oracle中?
- 请问这个程序有错吗,关于外键的
- 初学oracle存储过程遇到的问题
如果不考虑临界点的话,可以使用 trunc(date1)-trunc(date2)+1
date2是某天的0:0:0,那date2这天算不算?
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) sasiday FROM DUAL;
---------------------------------------------------------------
2
select ceil(time1/24)+ceil(time2/24)+ceil(time3/24)
from dual
提示这的time1/2/3的允许值为0-23
--只需将你最小的那个日期截取到天,再转换成日期像减,如:
SELECT Ceil( --向上取整
Abs(
To_Date(To_Char(
To_Date('2010-11-17 23:00:00','yyyy-mm-dd hh24:mi:ss')
,'yyyy-mm-dd') --截取到天
,'yyyy-mm-dd') --再转成时间
- --两日期想减
To_Date('2010-11-19 01:00:00','yyyy-mm-dd hh24:mi:ss')))
FROM dual;--结果: 3