oracle当前时间减去记录的生成时间差值计算


看图

oracle当前时间减去记录的生成时间差值计算_第1张图片oracle当前时间减去记录的生成时间差值计算_第2张图片

如上图

BO_CODE是订单号

BO_CREATEDATE是创建时间

需求:需要用当前时间减去创建时间得到一个大于3小时/3天或者其他时间,我们怎么做呢

首先需要用oracle自己当前时间减去订单字段的创建时间

如下
sysdate - o.BO_CREATEDATE

执行一下看看

oracle当前时间减去记录的生成时间差值计算_第3张图片

 以上数字是天数,我们需要将他转化为数字输出需要用到一个函数

    select TO_NUMBER(sysdate - o.BO_CREATEDATE) from T_bo_Bookingorder o;

再执行看看

oracle当前时间减去记录的生成时间差值计算_第4张图片

 

此时我们需要四舍五入ROUND(TO_NUMBER(sysdate - o.BO_CREATEDATE)取整数,为了演示方便对比,我特地输出三列,执行结果如下

oracle当前时间减去记录的生成时间差值计算_第5张图片

 

 验证:

上图订单记录BO2759421071300003   系统时间是2021-09-27再减去订单时间2021-07-13 15:58:35得到76天

如果需要差值的小时就需要*24

ROUND(TO_NUMBER(sysdate - o.BO_CREATEDATE) * 24 )

如果需要分钟

ROUND(TO_NUMBER(sysdate - o.BO_CREATEDATE) * 24*60 )

以此类推

 

你可能感兴趣的:(oracle,linux,oracle)