oracle 取当前日期时间的前一天前一小时前一分钟前一秒

SELECT '当前时间' TITLE, TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') TIME
  FROM DUAL --当前时间
UNION ALL
SELECT '前一天前一小时前一分钟前一秒' TITLE,
       TO_CHAR(SYSDATE - 1 - 1 / 24 - 1 / 24 / 60 - 1 / 24 / 60 / 60,
               'yyyy-mm-dd hh24:mi:ss') TIME
  FROM DUAL
UNION ALL
SELECT '一分钟前' TITLE,
       TO_CHAR(SYSDATE - 1 / 24 / 60, 'yyyy-mm-dd hh24:mi:ss')
  FROM DUAL

某个时间之后571天的时间是:

select to_date('2009-11-16 14:33:27','yyyy-MM-dd HH24:mi:ss') + 571 from dual
oracle 取当前日期时间的前一天前一小时前一分钟前一秒_第1张图片
56eded08-c6ca-3057-b778-c0d377bd1a25.png

引用
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒
sysdate+5/24/60 在系统时间基础上延迟5分钟
sysdate+5/24 在系统时间基础上延迟5小时
sysdate+5 在系统时间基础上延迟5天
add_months(sysdate,-5) 在系统时间基础上延迟5月
add_months(sysdate,-5*12) 在系统时间基础上延迟5年

查询10分钟前的记录

select * from sq_leavemessage m where sysdate-m.createtime<=10/60/24

1天前创建的产品

select pv.create_time from product_version pv where round(to_number(sysdate-pv.create_time))<=1

6小时前创建的产品

select pv.create_time from product_version pv where round(to_number(sysdate-pv.create_time)*24)<=6

1分钟前创建的产品

select pv.create_time from product_version pv where round(to_number(sysdate-pv.create_time)*1440)<=1

你可能感兴趣的:(oracle 取当前日期时间的前一天前一小时前一分钟前一秒)