oracle如何计算2个时间的天数差

一条数据中有2个时间字段 是date格式 含时分秒 。 要的函数结果是天数。 怎么写查询语句
最新回答
晚街

2025-03-30 05:42:42

两个日期相减就直接可以得到天数
追问
直接相减是有小数的。
追答
用大的日期减小的日期 数值是大于>0 的 ,
如果是大于0的小数,0.23 类似小数说明不满一天,
如果市1.25类似的小数说明相隔多余一天,不到两天,

像这种情况取数逻辑根据业务来,如果要超过1.5天取两天可以用四舍五入的函数,如果只取整数天可以直接用截取的函数

请采纳
追问
就是不能按四舍五入的逻辑计算,例如时间1是昨天早上8点,时间2是无论是今天凌晨1点,还是晚上23点,都是算一天。但是数据库存储的数据带时分秒。要的结果就是。忽略时分秒的前提下,只算天数。  请给出SQL语句。谢谢
追答
先截取到日,再相减
TRUNC(time1,'dd')-trunc(time2,'dd')
看一下这个是不是可以啊
湖畔迷路的孩

2025-03-30 05:22:48

select trunc(sysdate)-trunc(sysdate -1) from dual;