Oracle中sysdate – 1/24/60 往前推时间

在Oracle中,sysdate – 1/6、sysdate – 1/24/60等,表示从当前时间往前推若干时间,若干时间的计算方式如下:
1.sysdate-A表示往前推A天

2.如果是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小时

3.如果是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分钟

where cre_date > sysdate – 3/24 往前推3小时

where cre_date > sysdate – 3/24/60 往前推3分钟

Leave a Comment