在Oracle中,sysdate - 1/6、sysdate - 1/24/60等,表示从当前时间往前推若干时间,若干时间的计算方式如下:
1.如果是A/B类型,则表示往前推n小时,A表示天数,B表示小时,n = A×24/B。
例如:sysdate - 1/6,此处A = 1;B = 6。
n = 1×24/6 = 4
即 select sysdate - 1/6 from dual 得出的时间是当前时间往前推4小时
2.如果是A/B/C类型。则表示往前推m分钟,A表示天数,B表示小时,C表示分钟。
m的算法: 先计算 A×24/B 得到需要往前推多少小时,假设n = A×24/B。
那么 m = n×60/C。(1小时=60分钟,所以n小时要乘以60,再去除以C,得到往前推的分钟数)
即 select sysdate - 1/24/60 from dual 得出的时间是当前时间往前推1分钟


最后说一个简单的,sysdate-A表示往前推A天。

本文详细解析了Oracle数据库中使用sysdate进行日期时间减法运算的方法,包括如何通过A/B和A/B/C格式来精确向前推算小时和分钟,以及简单的天数推算。
756

被折叠的 条评论
为什么被折叠?



